objectivec
//强弱引用
#define kWeakSelf(type)__weak typeof(type)weak##type = type;
-(void) showUIAlertTable
{
kWeakSelf(self)
UIAlertController *alert = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"select_stu", nil) message:nil preferredStyle:UIAlertControllerStyleAlert];
CGRect frame = self.view.bounds;
frame = CGRectInset(frame, 0, 0);
UITableView *tableView2 = [[UITableView alloc] initWithFrame:frame style:UITableViewStylePlain];
tableView2.dataSource = self;
tableView2.delegate = self;
[tableView2 registerClass:[DevicelistCell class] forCellReuseIdentifier:@"deviceCell"];
[alert.view addSubview:tableView2];
[self presentViewController:alert animated:NO completion:nil];
}
问题来了,对话框 既然 不在屏幕中间。
解决办法
objectivec
-(void) showUIAlertTable
{
kWeakSelf(self)
UIAlertController *alert = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"select_stu", nil) message:nil preferredStyle:UIAlertControllerStyleAlert];
CGRect frame = self.view.bounds;
frame = CGRectInset(frame, -50, -300);
UITableView *tableView2 = [[UITableView alloc] initWithFrame:frame style:UITableViewStylePlain];
tableView2.dataSource = self;
tableView2.delegate = self;
[tableView2 registerClass:[DevicelistCell class] forCellReuseIdentifier:@"deviceCell"];
[alert.view addSubview:tableView2];
[self presentViewController:alert animated:NO completion:nil];
}
frame = CGRectInset(frame, -50, -300);
根据各个手机去适配吧。调整到合适的位置。