2012-01-18 16 views

Trả lời

7

Cách duy nhất tôi thấy để triển khai những gì bạn đang cố gắng là thông qua chế độ xem cảnh báo tùy chỉnh.

Có một số cách tiếp cận mà bạn có thể thực hiện. Một là phân lớp UIAlertView và ở đây bạn có thể tìm thấy một hướng dẫn ngắn: Subclass UIAlertView. Trong lớp con của bạn, bạn có thể xây dựng cảnh báo theo bất kỳ cách nào bạn muốn triển khai văn bản hỗ trợ cảm ứng. Có một cái nhìn tại this tutorial cho một cách để làm điều đó.

1

Tôi đã gặp phải vấn đề này ngày hôm nay, tôi cần có số điện thoại và địa chỉ có thể nhấp trong chế độ xem cảnh báo của mình và bị bối rối trong một thời gian vì chế độ xem cảnh báo tùy chỉnh nằm ngoài câu hỏi.

Sau một số nghiên cứu, có vẻ như bạn có thể thêm chế độ xem văn bản vào chế độ xem cảnh báo có vẻ như giải quyết được sự cố của tôi. Đây là cách tiếp cận của tôi cho phép các cảnh báo mở rộng động (lưu ý: sử dụng C# với Xamarin):

// create text view with variable size message 
UITextView alertTextView = new UITextView(); 
alertTextView.Text = someLongStringWithUrlData; 

// enable links data inside textview and customize textview 
alertTextView.DataDetectorTypes = UIDataDetectorType.All; 
alertTextView.ScrollEnabled = false; // is necessary 
alertTextView.BackgroundColor = UIColor.FromRGB(243, 243, 243); // close to alertview default color 
alertTextView.Editable = false; 

// create UIAlertView 
UIAlertView Alert = new UIAlertView("Quick Info", "", null, "Cancel", "OK"); 
Alert.SetValueForKey(alertTextView, (Foundation.NSString)"accessoryView"); 

// IMPORTANT/OPTIONAL need to set frame of textview after adding to subview 
// this will size the text view appropriately so that all data is shown (also resizes alertview 
alertTextView.Frame = new CoreGraphics.CGRect(owner.View.Center, alertTextView.ContentSize); 
Alert.Show(); 
+0

"Chủ sở hữu" là gì? từ thứ hai đến dòng cuối cùng. Hoạt động tuyệt vời bằng cách này! – stepheaw