iphone开发我的新浪微博客户端-用户登录等待篇(1.4)
本篇在上一篇的基础上完成如上(图2)所示的用户登录等待功能,首先说说这个页面功能的由来,这个就是当检查sqlite库中已经存在用户账号的时候从表中把用户记录查询出来,然后从NSUserDefaults中获取上一次登录的账号,如果查询出来的用户记录中包含上一次登录的账号,那么就把这个账号作为默认显示账号,如果没有就取用户记录中的第一个账号作为默认显示账号,上一篇中当用户完成OAuth认证把账号信息保存到sqlite库后也是显示这个页面功能。
先来看看UI是怎么实现了,看上图这个界面包含用户头像小图标、用户名称、3个功能按钮(添加、切换、删除)这三部分元素,我的做法是把这三部分元素添加到一个单独的UIView上,并且把这个UIView背景设置成透明,然后把这个UIView显示在上一篇的LoginViewController的View之上,这样UIView就有了背景图了,背景图由底下的LoginViewController的View提供。同时上一篇中在做LoginViewController有个遗漏忘记讲给LoginViewController的View添加背景图了,这里补上,做法是如下:
补上一篇:双击LoginViewController.xib文件,开启IB后双击LoginViewController.xib的View打开,然后从Library面板中拖一个Image View组件到这个View上并且把这个Image View尺寸设置跟View一样大,然后为这个Image View设置一张背景图,如下图:
补上上面的内容后,现在回到正题继续讲本篇的功能。
一、上面讲到了新建一个单独的UIView作为本功能的界面,这里先新建名为SelectViewController的UIViewController subclass类型的类文件,新建的时候记得勾上With XIB user interface选项。
二、打开上步新建的SelectViewController.h文件,声明一个UIButton作为用户头像小图标,一个UILabel作为用户名称,还有delegate和onClick用来调用LoginViewController中的方法用,还有这还import了一个名为UICustomSegmentedControl.h的文件,这个是一个自定义的组件,用来实现上面提到的3个按钮的功能,该组件和系统自带的UISegmentedControl组件类似,至于为什么非要自己做一个而不用系统自带理由和前面的UIDialogWindow一样,文章最后我会把这个组件的代码贴出来这里就不解释了直接使用这个组件,具体代码如下:
#import <UIKit/UIKit.h>
#import "Global.h"
#import "UICustomSegmentedControl.h"
@interface SelectViewController : UIViewController<UICustomSegmentedControlDelegate> {
IBOutlet UIButton *iconBtn;
IBOutlet UILabel *nameLabel;
id delegate;
SEL onClick;
}
@property(nonatomic,retain)IBOutlet UIButton *iconBtn;
@property(nonatomic,retain)IBOutlet UILabel *nameLabel;
@property(nonatomic,retain)id delegate;
-(id)initWithDelegate:(id)aDelegate onClick:(SEL)aOnClick;@end
三、双击SelectViewController.xib用IB打开,Library面板中拖一个UIButton和UILabel到View中间合适的位置同时做好连接操作,分别连接到SelectViewController.h中的iconBtn和nameLabel,并且把View的background设置成clear color然后保存,如下图:
四、打开SelectViewController.m文件,首先是initWithDelegate方法,这个方法主要是设置SelectViewController的delegate和delegate,代码如下:
-(id)initWithDelegate:(id)aDelegate onClick:(SEL)aOnClick;{ if (self=[super init]) { self.delegate=aDelegate; onClick=aOnClick; } return self;} 五、接下来我们要设置一下用户头像小图标(iconBtn)白色方框背景和默认用户小图标,实现代码非常简单了,在viewDidLoad方法里添加如下代码:
[iconBtn setBackgroundImage:[[Global pngWithPath:@"icon_bg"]stretchableImageWithLeftCapWidth:8.0 topCapHeight:7.0] forState:UIControlStateNormal]; &n
相关新闻>>
- 发表评论
-
- 最新评论 更多>>