这里需要在首页的导航栏的title设置用户的昵称。 这里用到了,用户,读取接口。获取用户的数据。 用户的昵称会发生改变,所以在软件运行时,要进行判断。先显示上一次的用户名称,在获取最新的用户昵称,在将其显示,并存储。 这里为了方便存储,在HMAccount类中增加一个属性,就可以了。
/** * 获得用户信息 */ - (void)setupUserInfo { // 1.获得请求管理者 AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
// 2.封装请求参数 NSMutableDictionary *params = [NSMutableDictionary dictionary]; params[@"access_token"] = [HMAccountTool account].access_token; params[@"uid"] = [HMAccountTool account].uid;
// 3.发送GET请求 [mgr GET:@"https://api.weibo.com/2/users/show.json" parameters:params success:^(AFHTTPRequestOperation *operation, NSDictionary *userDict) { // 字典转模型 HMUser *user = [HMUser objectWithKeyValues:userDict];
// 设置用户的昵称为标题 [self.titleButton setTitle:user.name forState:UIControlStateNormal];
// 存储账号信息 HMAccount *account = [HMAccountTool account]; account.name = user.name; [HMAccountTool save:account]; } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
}]; } 由于用户的昵称文字有长,有短。所以最好的方式是根据用户昵称文字的长短自行设置长度。在首页控制器中设置导航栏title文字的长度。这里需要重写HMTItitleButton中的settitle方法。 - (void)setTitle:(NSString *)title forState:(UIControlState)state { [super setTitle:title forState:state];
// 1.计算文字的尺寸 CGSize titleSize = [title sizeWithFont:self.titleLabel.font];
// 2.计算按钮的宽度 self.width = titleSize.width + self.height + 10;
} |
|
来自: 雪柳花明 > 《ios 开发项目遇到的问题》