Как настроить поля TTMessageController? - PullRequest
1 голос
/ 24 марта 2011

Я использую TTMessageController , чтобы получить средство выбора получателей и текстовую область для написания SMS-сообщений. Тем не менее, есть еще поле «субъект», которое мне не нужно.

Как мне это удалить?

Так я создаю TTMessageController :

self.second [[SecondViewController alloc] init];
[self.second release];

UINavigationViewController *navigationController = 
              [[UINavigationController alloc]
               initWithRootViewController:self.second];
[self presentModalViewController:navigationController animated:YES];

SecondViewController является подклассом TTMessageController . Так как мне настроить его для удаления / добавления полей, особенно предметной области?

1 Ответ

1 голос
/ 24 марта 2011

Создайте подкласс TTMessageController и переопределите initWithNibName. В своем методе overidden initWithNibName установите массив _fields, чтобы сохранить только те поля, которые вы хотите иметь. В приведенном ниже примере будет сохранено только поле To:

///////////////////////////////////////////////////////////////////////////////////////////////////
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {

        self.dataSource = [[AddressBookDataSource new] autorelease];


        _fields = [[NSArray alloc] initWithObjects:
                   [[[TTMessageRecipientField alloc] initWithTitle: TTLocalizedString(@"To:", @"")
                                                           required: YES] autorelease], nil];



        self.showsRecipientPicker = YES;

        self.title = TTLocalizedString(@"New Message", @"");

        self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc]
                                                  initWithTitle: TTLocalizedString(@"Cancel", @"")
                                                  style: UIBarButtonItemStyleBordered
                                                  target: self
                                                  action: @selector(cancel)] autorelease];
    }

    return self;
}
...