点击右上角设置按钮
点击按钮后发生的事件:1. 控制器的跳转,进入新的控制器.view, 2. 跳转的时候对将要跳转的目标控制的子控件进行了布局.---通过手写plist文件的方式加载
为按钮注册单击事件
#import "PBBMyLottory.h"
#import "PBBSettingViewController.h"
@interface PBBMyLottory ()
@property (weak, nonatomic) IBOutlet UIButton *loginButton;
@end
@implementation PBBMyLottory
- (IBAction)didClickSettingButton:(id)sender {
//创建控制器 + 跳转到新的控制器
PBBSettingViewController * setVc = [[PBBSettingViewController alloc] init];
//设置右上角常见问题按钮
UIBarButtonItem * rightItem = [[UIBarButtonItem alloc] initWithTitle:@"常见问题" style:UIBarButtonItemStylePlain target:self action:@selector(didClickChangJianButton)];;
setVc.navigationItem.rightBarButtonItem = rightItem;
//在PBBSettingViewController属性中声明一个plistname的属性用来存储手写plist文件名
setVc.plistName = @"PBBMynblist.plist";
[self.navigationController pushViewController:setVc animated:YES];
}
-(void)didClickChangJianButton{
NSLog(@"常见问题i");
}
- 点击设置按钮后需要跳入的界面
- 跳转前需要进行手动设置tableview的样式
//设置tableView为分组的样式,重写构造init方法
-(instancetype)init{
return [super initWithStyle:UITableViewStyleGrouped];
}
-(instancetype)initWithStyle:(UITableViewStyle)style{
return [super initWithStyle:UITableViewStyleGrouped];
}
//设置返回按钮 格式 不同状态下的显示图片
-(void)viewDidLoad{
[super viewDidLoad];
UIBarButtonItem * backItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"NavBack"] style:UIBarButtonItemStylePlain target:self action:@selector(didClickBackButton)];
self.navigationItem.rightBarButtonItem.title = @"常见问题";
self.navigationItem.title = @"设置哦!";
self.navigationItem.leftBarButtonItem = backItem;
}
//如果自定义了返回按钮,则返回按钮进入上一个控制器需要手动返回.
-(void)didClickBackButton{
[self.navigationController popViewControllerAnimated:YES];
}
- 此界面的控件全部由手动写plist文件创建
- 首先有三组数据,每组分别有1个 4 个 4个 cell
- 每组的组header 与footer 都为空,先写上以防以后添加内容.
- plist文件整个是一个数组,下面的item是字典header与footer对应的内容,再下面是一个数组,数组里面存了每个cell的左边的icon头像,内容-title,以及右边的-accessory的style如图
- 由于第一组的cell点击去设置的是普通的一个viewcontroller,则没有plist_name这一项如图
- 然后plist_name这一项就可以为空,因为里面无需再跳转其他控制器,以及为跳转过后其他控制器里面内容控件等等 赋值
- 点击推送和提醒需要跳转进入的控制器
- 对应手写plist文件为
这里target_vc要跳转的目标控制器如果跟设置界面的控制器类型一致,则用PBBSettingViewController这个类型的控制器---方便而已
下面是跳转进入的控制器的plist文件的编写,由于点进去的界面还需要进行跳转则再写对应跳转过去的plist文件,再在plist_name中写上要跳转的plist文件名
总结:plist文件书写首先看要跳转的界面的类型,网易彩票的是tableView类型,然后看有几组数据,每组数据的header 与 footer是否为空,写上最好以防有用(对应的NSDictionary),每个cell对应的又是一个数组,因为每个cell中存的数据不仅仅是一个标题+文字,而是存储了标题+文字title+右侧accessory,则字典不能满足,要用数组NSArray来存储每个cell数据.如果选中cell进行跳转,跳转进入的界面是类似设置的界面----也就是每个cell点击的时候还需要跳转进入下一个界面,则需要分别对每个cell写对应plist文件.