小编jvd*_*ten的帖子

在iOS 7联系人应用中创建一个搜索栏

我有一个应用程序,我有一个UITableView可以在侧面滚动的部分sectionIndexTitlesForTableView:.

tableHeaderViewUITableView我想补充一个UISearchBar,我要像一个苹果在iOS7他们新的联系人应用程序中使用的行为.但我似乎无法让它发挥作用.

搜索栏不是屏幕宽度的100%,而是右侧与节索引相对应.

我的问题是:

  • 如何获取搜索栏的宽度为100%时,它是tableHeaderView一个UITableView具有可见部分指标?
  • 如何在iOS 7的"联系人"应用程序中创建转换,导航栏隐藏,搜索栏的灰色背景延伸到状态栏?

我已经尝试了几件事,包括在导航栏中添加搜索栏,然后使用UISearchBarController,但我在Apple网站上找不到关于如何创建这个的好文档.此外,从iOS6到iOS7的过渡指南对我来说也没有什么帮助.

这是两张图片,说明了我的问题: 在此输入图像描述 在此输入图像描述

objective-c uitableview ios

16
推荐指数
2
解决办法
3930
查看次数

进入视图时,撰写UIBarButtonItem稍微改变位置

在导航栏中使用UIBarButtonSystemItemCompose按钮呈现新视图时,位置略微偏离,并在视图进入视图后进行调整.

进入视图时,撰写按钮会稍微改变位置

我认为这是iOS中的一个错误(使用的是8.3版本).它只在使用UIBarButtonSystemItemCompose时发生.其他类型的按钮(系统,文本或自定义)不会发生这种情况.

复制此错误所需的唯一代码是将此ViewController代码与将进入视图的视图一起使用:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    UIBarButtonItem* composeBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera
                                      target:nil
                                      action:nil];

    [self.navigationItem setRightBarButtonItem:composeBarButtonItem animated:YES];
}

@end
Run Code Online (Sandbox Code Playgroud)

我在GitHub上创建了一个存储库,只有最少的代码来重现问题:https://github.com/jvdvleuten/iOSComposeBarButtonItemBug

看起来与此相关:当UINavigationController以模态方式呈现时,UIBarButtonItems移位,除了我的bug只在使用UIBarButtonSystemItemCompose时出现.

有任何想法吗?

objective-c uinavigationcontroller uibarbuttonitem ios uibarbuttonsystemitem

13
推荐指数
1
解决办法
822
查看次数

Erlang:proplists:get_value/2还是模式匹配?

我有一个始终具有相同形式的元组列表(即元组始终以相同的顺序):

1> L = [{a, 1}. {b,2}, {c, 3}, {d, 4}].
Run Code Online (Sandbox Code Playgroud)

知道列表只有几个元素,提取与键相关的值的最佳方法是什么?

假设列表作为参数传递给函数,以便在我使用时提取值:

proplists:get_value(a, L).
proplists:get_value(b, L).
...
proplists:get_valus(d, L).
Run Code Online (Sandbox Code Playgroud)

或者我应该简单地使用模式匹配:

[{a, 1}. {b,2}, {c, 3}, {d, 4}] = L.
Run Code Online (Sandbox Code Playgroud)

erlang

5
推荐指数
1
解决办法
3835
查看次数