UI问题 - 添加uialeartview,tabbaritems和tableview

时间:2012-01-20 01:43:14

标签: iphone objective-c cocoa-touch

  1. )我看过一些应用程序,如FoursquareTwitter,他们要求保持tableview以重新加载/刷新表。如何将此功能添加到我的应用程序中?
  2. 2.。)我需要在UIAleartView中添加一个文本框,我知道这是不允许的。那么,为了完成这项工作,可以使用哪些库? (只有苹果批准的图书馆)

    3。)在foursqure中,我看到签到标签栏项的高度大于其他标签栏项。我需要在用户选择它时增加标签栏项。我怎样才能做到这一点 ?任何线索?

2 个答案:

答案 0 :(得分:2)

对于#1,您可以查看开源代码EGOTableViewPullRefresh。从这里下载:

https://github.com/enormego/EGOTableViewPullRefresh/blob/master/EGOTableViewPullRefresh/Classes/View/EGORefreshTableHeaderView.m

对于#2,请查看UIAlertView类的 textFieldAtIndex:方法。似乎您必须使用以下样式之一:

UIAlertViewStylePlainTextInput
UIAlertViewStyleSecureTextInput
UIAlertViewStyleLoginAndPasswordInput

很明显是允许的。不确定从哪里获得您的信息。

对于#3,您无法调整高度。我认为这是一个只读属性。 Apple从UX角度设计了特定的UI元素,并且不允许对它们进行更改,因为它们认为它违反了HCI原则。

但是当然你可以隐藏标签栏,创建你自己的自定义uiview并做几乎你想要的任何事情。

答案 1 :(得分:1)

在你的第二个问题中,答案就在这里,

在此参考链接中,您可以在UIAlertviewControll中显示添加子视图,并将其替换为您的文本框,因此您的问题可以通过此解决

Refer the Reference link for question two here

更新代码并加入方法

-(IBAction)btnSave
{

    UIAlertView *saveAlert = [[UIAlertView alloc] initWithTitle:@"Enter a name for your count" message:@"     " delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Save",nil];
    UITextField *txtSave = [[UITextField alloc] initWithFrame:CGRectMake(20, 45, 245, 25)];

    [txtSave becomeFirstResponder];
    NSLog(@"txtSave became first responder");
//  [saveAlert setTag:UIAlertViewID_Save];
//  [txtSave setTag:UITextFieldID_txtSave];
    [txtSave setBorderStyle:UITextBorderStyleRoundedRect];
    [txtSave setPlaceholder:@"Enter name here"];
    [txtSave setKeyboardType:UIKeyboardTypeDefault];
    [txtSave setReturnKeyType:UIReturnKeyDone];
    [txtSave setClearButtonMode:UITextFieldViewModeWhileEditing];
    [txtSave setKeyboardAppearance:UIKeyboardAppearanceAlert];
    [txtSave addTarget:self action:@selector(textFieldDone:) forControlEvents:UIControlEventEditingDidEndOnExit];  
    [saveAlert addSubview:txtSave];
    [saveAlert show];
//  [txtSave release];
//  [saveAlert release];
}

- (IBAction)textFieldDone:(id)sender {
    [sender resignFirstResponder];
    NSLog(@"Log");
}

解决您的问题可能会有所帮助。 在第三个问题的答案中,您可以在标签栏中创建自定义标签栏,并使用放入其中的单个图像,您可以轻松管理标签栏,以便参考以下链接查看自定义标签栏。

Refer the Reference link for question third here