//强弱引用
#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];}
问题来了,对话框 既然 不在屏幕中间。
解决办法
-(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);
根据各个手机去适配吧。调整到合适的位置。