2012-01-18 26 views

Trả lời

0

bạn có thể gọi phương thức validate của bạn từ phương pháp UIAlertViewDelegate

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
0

Bind sự kiện lĩnh vực văn bản "Chỉnh sửa Đã End", hoặc tương tự, đến một phương pháp trong Chủ đầu tư tập để xử lý xác nhận. Phương thức này là phương thức bạn viết trong file controller.m và khai báo trong file controller.h. Tên chính xác của các tệp điều khiển phụ thuộc vào cấu trúc của cơ sở mã ứng dụng của bạn.

Cách bạn xử lý trường hợp lỗi xác thực, ví dụ: nội dung trống, phụ thuộc vào nhu cầu của ứng dụng của bạn. Ví dụ: nếu nội dung trống, bạn sẽ cần cảnh báo người dùng sau đó đặt lại tiêu điểm thành trường văn bản.

Nếu bạn chưa quen với lập trình iOS, bạn có thể thấy hướng dẫn của Ray Wnderlich hữu ích. http://www.raywenderlich.com/

Tôi đã tìm thấy "iOS Apprentice" được thực hiện một cách độc đáo. Ngoài ra, một cuốn sách mới từ Dave Mark, "Bắt đầu phát triển iOS 5", có thể hữu ích.

0

Đặt các đại biểu của alertView để viewController hiện tại của bạn
sau đó trong phương pháp đại biểu

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    if (buttonIndex == 0)return; //for cancel button 

    UITextField *textField = [alertView textFieldAtIndex:0]; // since there is only one UITextField in alertView 
    if ([textField.text length] > 0) // checking the length of the text in UITextField 
    { 
      // Your code goes here 
    } 
} 

Tôi hy vọng điều này sẽ giúp.
BR, Hari

0

1: Lấy UITextField trong alertView:

self.alertViewTextField = [alertView textFieldAtIndex:0]; 

2: Kiểm tra độ dài văn bản khi soạn thảo TextField thay đổi:

[self.alertViewTextField addTarget:self action:@selector(alertViewTextFieldDidChanged) forControlEvents:UIControlEventEditingChanged]; 

-(void)alertViewTextFieldDidChanged{ 
    if(self.alertViewTextField.text.length == 0){ 
     // ... 
    } 
} 
11

Chúng ta hãy giả sử rằng bạn có một Nút "OK" (hoặc một cái gì đó tương tự) là nút đầu tiên của các nút khác của UIAlertView. Giả sử rằng bạn muốn nút đó được kích hoạt nếu và chỉ khi độ dài của văn bản trong trường văn bản lớn hơn 0. Sau đó, giải pháp để xác nhận là đơn giản. Trong các đại biểu của UIAlertView thực hiện:

- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView 
{ 
    return [[alertView textFieldAtIndex:0].text length] > 0; 
} 

này có lợi thế hơn một số các câu trả lời khác (mà sử dụng clickedButtonAtIndex :), mà người sử dụng là ngay lập tức biết xem trường text chứa đầu vào hợp lệ.

Thư ủy nhiệm này không được giải thích rõ ràng trong tài liệu của Apple, nhưng nó hoạt động rất tốt. Mọi thay đổi đối với giá trị của trường văn bản sẽ khiến thông báo này được gửi đi và nút "OK" được bật hoặc tắt tương ứng.

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