zoukankan      html  css  js  c++  java
  • 新浪微博客户端(16)-获得并显示用户昵称

    DJHomeViewController.m

    - (void)updateTitleViewDisplayName {
    
        AFHTTPSessionManager *requestManager = [AFHTTPSessionManager manager];
        
        NSString *urlString = @"https://api.weibo.com/2/users/show.json";
        
        DJAccount *account = [DJAccountTool account];
        NSMutableDictionary *params = [NSMutableDictionary dictionary];
        params[@"access_token"] = account.access_token;
        params[@"uid"] = account.uid;
        
        [requestManager GET:urlString parameters:params progress:nil success:^(NSURLSessionDataTask * _Nonnull task, NSDictionary *  _Nullable dict) {
            // 存储当前用户昵称
            NSString *screen_name = dict[@"screen_name"];
            account.screen_name = screen_name;
            [DJAccountTool saveAccount:account];
            // 更新titleView显示昵称
            UIButton *titleView = (UIButton *)self.navigationItem.titleView;
            [titleView setTitle:screen_name forState:UIControlStateNormal];
            
        } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
            DJLog(@"获取用户信息失败");
        }];
        
    
    }

    DJTitleView.m

    #import "DJTitleView.h"
    
    @implementation DJTitleView
    
    
    
    
    - (instancetype)initWithFrame:(CGRect)frame {
    
        self = [super initWithFrame:frame];
        if (self) {
            [self setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
            self.titleLabel.font = [UIFont systemFontOfSize:16];
            [self setImage:[UIImage imageNamed:@"navigationbar_arrow_down"] forState:UIControlStateNormal];
            [self setImage:[UIImage imageNamed:@"navigationbar_arrow_up"] forState:UIControlStateSelected]; // 设置选中状态
            self.imageView.backgroundColor = [UIColor clearColor];
        }
        return self;
    }
    
    
    
    
    - (void)layoutSubviews {
    
        [super layoutSubviews];
        
        // 将按钮内部的imageView和titleLabel的位置对调,实现图标指示器在右侧的效果。
        self.titleLabel.x = self.imageView.x;
        self.imageView.x = CGRectGetMaxX(self.titleLabel.frame) + 4;
        
    }
    
    
    
    @end

    最终效果:

  • 相关阅读:
    RHEL7使用ssm命令管理LVM
    LVM命令摘要
    Linux用户磁盘配额
    Linux磁盘分区实战案例
    通过yum升级CentOS/RHEL最小化安装
    RHEL7下PXE+FTP+Kickstart无人值守安装操作系统
    配置VSFTP服务器
    RHEL7下PXE+NFS+Kickstart无人值守安装操作系统
    RHEL7下PXE+Apache+Kickstart无人值守安装操作系统
    html5实现图片自适应手机屏幕页面的css
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/6009412.html
Copyright © 2011-2022 走看看