2009-06-25 24 views
5

Sử dụng Cài đặt.app trên iPhone không phải là khó. Trong thực tế Xcode làm hầu hết công việc cho bạn. Chỉ cần thêm Settings.bundle vào dự án của bạn và ở đó bạn có nó cho hầu như không mất phí.Có thư viện hoặc khung công tác nào để đặt tùy chọn từ trong ứng dụng iPhone không?

Hiện tại tôi đang phát triển một ứng dụng cho iPhone yêu cầu người dùng điền vào một số "biểu mẫu", chủ yếu là các cặp khóa-giá trị, một số thanh trượt và một số chế độ xem bằng menu "thả xuống". Vì vậy, tương tự như nhiệm vụ tương tự như những gì các Settings.app hiện.

Làm các biểu mẫu của bản thân mình là một nhiệm vụ nặng nề theo ý kiến ​​của tôi, vì vậy tôi tự hỏi liệu có một khuôn khổ cho loại nhiệm vụ này không. Thật không may có vẻ như Apple không cung cấp giải pháp riêng của nó. Có lẽ ai đó biết về một khuôn khổ hoặc một bài viết trên web mô tả các phương pháp hay nhất.

Trong trường hợp bạn không hiểu mà mẫu tôi đề cập, tôi đã thực hiện một ảnh chụp màn hình: http://img.skitch.com/20090625-s8bf6ahybwe3cesd1id38h3nt.jpg

Trả lời

8

Kiểm tra http://www.inappsettingskit.com. Nó được sử dụng trong một vài ứng dụng và nó được chủ động duy trì (bởi bản thân tôi và một loạt những người khác).

1

Vâng, nếu bạn đang làm cài đặt sau đó tôi sẽ đề nghị đưa họ vào địa điểm chính xác và sử dụng Cài đặt. bó.

Tôi đoán bạn đang thực hiện cài đặt mặc dù điều đó rất quan trọng đối với ứng dụng của bạn và sẽ là trải nghiệm người dùng khủng khiếp nếu họ phải tiếp tục nhảy từ ứng dụng xuống cài đặt và quay lại.

Khi bạn nói làm nhiệm vụ nặng nề - bạn có thể xây dựng - như tôi đã thực hiện nó và nó không nặng.

Sử dụng một UITableViewController

cho mỗi tế bào mà bạn muốn sử dụng đặt trong mã tương tự như:

 cell.textLabel.text = @"Last name:"; 
     UIFont *labelFont = [UIFont systemFontOfSize:[UIFont labelFontSize]]; 
     CGSize textSize = [cell.textLabel.text sizeWithFont:labelFont]; 
     baseRect.origin.x = textSize.width+15; 
     baseRect.origin.y +=7; 
     baseRect.size.width = baseRect.size.width - textSize.width - 15; 
     baseRect.size.height = 23; 
     UITextField *textField = [[UITextField alloc] initWithFrame:baseRect]; 
     textField.keyboardType = UIKeyboardTypeAlphabet; 
     textField.returnKeyType = UIReturnKeyDone; 
     textField.clearButtonMode = UITextFieldViewModeWhileEditing; 
     textField.delegate = self; 
     textField.placeholder = @"last name"; 
     [textField addTarget:self action:@selector(lastNameChanged:) forControlEvents:UIControlEventAllEditingEvents]; 
     textField.tag = 182; 
     [cell.contentView addSubview:textField];  
     [textField release]; 

này đã làm việc cho tôi để tạo lại giao diện bạn đang nói về - ví dụ ở đây là một TextField - nhưng cùng một mã đã làm việc rất tốt với tất cả các điều khiển.

+0

Bạn không sử dụng lại UITableViewCells của mình? Nếu bạn làm cách nào bạn có thể phân biệt được trường văn bản nào của bạn gọi lastNameChanged:? –

+0

Có tất nhiên tôi! - thẻ trên textField cho tôi biết trường nào là trường nào. Ngoài ra tôi đảm bảo rằng bất kỳ điều khiển nào khớp với danh sách thẻ của tôi sẽ bị xóa khi ô được tái chế. – Grouchal

0

Tôi khá chắc chắn những gì anh ta yêu cầu là một khung làm mới giao diện cài đặt từ tệp settings.bundle để có thể có cài đặt cả trong ứng dụng cài đặt và trong ứng dụng của bạn.

Tôi chưa biết bất cứ điều gì như thế, nhưng, tôi thực sự có thể sử dụng một và tôi đã xem xét viết một.

2

Tốt hơn nên đặt cài đặt trong ứng dụng, ít nhất là cho đến khi Apple giúp người dùng dễ dàng chuyển tới Cài đặt và sau đó quay lại ứng dụng. Nếu bạn nhìn vào 3.0 UITableViewCellStyles mới, có một kiểu được thiết kế riêng để thực hiện các kiểu thiết lập của các ô - nó sẽ làm cho nó khá dễ dàng để xây dựng một màn hình cài đặt đơn giản.

3

Sau nhiều nghiên cứu, tôi không quản lý để có được câu trả lời hay cho câu hỏi ban đầu của mình. Nhưng bây giờ tôi tình cờ gặp kho lưu trữ này trên github: mySettings

+0

Trên trang mySettings Github: "mySettings không còn hoạt động nữa". Cam kết cuối cùng là từ tháng 1 năm 2010. –

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