Có thể mã cứng mã IBAction
s và IBOutlet
trong mã thay vì kéo kết nối chúng trong Trình tạo giao diện không?Bạn có thể mã hóa IBActions và IBOutlets không, thay vì kéo chúng theo cách thủ công trong Trình tạo giao diện?
8
A
Trả lời
16
Có nó là poosible ...
mẫu mã
UIButton *btnDetail = [UIButton buttonWithType:UIButtonTypeRoundedRect] ;
[btnDetail setFrame:CGRectMake(250.0f, 15.0f, 65.0f, 20.0f)] ;
//btnDetail.backgroundColor = [UIColor grayColor];
[btnDetail setTitle:@"Detail" forState:UIControlStateNormal];
[btnDetail setTitleColor: [UIColor redColor] forState: UIControlStateNormal];
[btnDetail.titleLabel setFont:[UIFont fontWithName:@"Verdana" size:12]];
[btnDetail setBackgroundColor:[UIColor clearColor]];
[btnDetail sizeThatFits:btnDetail.frame.size];
[self.view addSubview:btnDetail];
//IBAction
[btnDetail addTarget:self
action:@selector(ShowSavingAccountDetail:)
forControlEvents:UIControlEventTouchUpInside];
[btnDetail setImage:[UIImage imageNamed:@"btn-detail.png"] forState:UIControlStateNormal];
14
Khái niệm và mục đích duy nhất của IBAction và IBOutlet là cung cấp giao diện Builder với các phương tiện để kết nối các xib với mã của bạn.
Nếu bạn không muốn sử dụng Trình tạo giao diện với mã của mình, bạn không cần IBAction hoặc IBOutlet, bạn cần chúng CHỈ để sử dụng các đối tượng (nút, trường văn bản, v.v.) các lớp học.
Với điều đó đã nói, câu trả lời của mihirpmehta là cách chính xác để thêm các phần tử giao diện người dùng theo chương trình vào chế độ xem của bạn và thêm hành động cho chúng.
Tôi không biết điều này có quan trọng hay không (vì tôi là người mới), nhưng tôi phải di chuyển các phần IBAction phía sau thư đến chế độ xem để thêm nút. Sau đó xác nhận nó đã làm việc với một thông điệp NSLog xác nhận nó đã được nhấn. Tôi gắn một sender.selected == YES sau đó in khác như vậy và như vậy. – natur3