Three20对TableViewController 实现了更好的封装,使实现列表类的界面更加简单。现在我们使用TTTableViewController实现简单的设置界面。
新建一个工程,导入Three20库。新建一个类SettingsViewController继承于TTTableViewContoller,在
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil方法中对view进行初始化并设置table的数据,具体代码:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
self.title = @"设置";
self.tableViewStyle = UITableViewStyleGrouped;
TTTableButton *userButton = [[TTTableButton alloc] init];
userButton.text = @"注销 cloay";
userButton.delegate = self;
userButton.selector = @selector(actionLoginOut);
self.dataSource = [TTSectionedDataSource dataSourceWithObjects:@"账号设置",
userButton,
@"网络设置",
[TTTableControlItem itemWithCaption:@"只在wifi网络下加载图片" control:[[UISwitch alloc] init]],
@"评价打分",
[TTTableButton itemWithText:@"给我们打分,评价一把" delegate:self selector:@selector(pingjia)],
[TTTableButton itemWithText:@"意见反馈" delegate:self selector:@selector(feedback)],
nil];
}
return self;
}
大部分属性与TableViewController一样,Three20里封装了一些table UI控件,如按钮等,可以直接充当cell。
效果图: