2010-03-03 39 views

Trả lời

31

Các nút có phương pháp - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents.

Các mã để sử dụng này sẽ trông như thế này:

UIButton *myButton = [[UIButton alloc] init...]; 
[myButton addTarget:something action:@selector(myAction) forControlEvents:UIControlEventTouchUpInside]; 

này giả định rằng IBAction của bạn được đặt tên myActionsomething là bộ điều khiển mà hành động đó được xác định.

+0

Khi xác định một bộ chọn cho UIButton, bạn có phải đặt tên một phương thức với một đối số duy nhất, id nút đã chọn không? Điều gì sẽ xảy ra nếu tôi chỉ định một phương thức không có arg? – mmccomb

+0

Tuyệt vời, cảm ơn! Tôi sẽ thử điều này nhưng điều này trông giống như những gì tôi đang tìm kiếm. – Nicsoft

+1

@mattmccomb: Từ tài liệu: "Thông báo hành động có thể bao gồm tùy chọn người gửi và sự kiện làm thông số theo thứ tự đó". Bạn có thể có một phương thức với số không, một hoặc hai đối số là hành động. Nhưng đừng quên thêm: ở cuối tên hành động cho mỗi đối số. – mrueg

6

Đầu tiên, tạo nút:

UIButton * btn; 

btn = [ [ UIButton alloc ] initWithFrame: CGRectMake(0, 0, 200, 50) ]; 

Sau đó, thêm một hành động:

[ btn addTarget: self action: @selector(myMethod) forControlEvents: UIControlEventTouchDown ]; 

Sau đó thêm vào nút để một cái nhìn:

[ someView addSubView: btn ]; 
[ btn release ]; 

UIControl reference UIButton reference

Các vấn đề liên quan