首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS开发-搜索栏UISearchBar和UISearchController

    为了实现搜索需要声明委托 UISearchBarDelegate , UISearchDisplayDelegate,其中搜索主要使用的就是UISearchDisplayDelegate,具体代码实现过程...{ return 1;} 设置区域的行数(重点),这个就是使用委托之后需要需要判断是一下是否是需要使用Search之后的视图: -(NSInteger)tableView:(UITableView...UISearchDisplayController, 也就是不推荐使用 UISearchDisplayDelegate ,但是可以通过 UISearchController 实现 UISearchResultsUpdating 这个委托实现上面的效果...; 视图中中需要声明UISearchResultsUpdating: @interface ViewController : UITableViewController<UITableViewDelegate...,也就是UISearchController的active属性: //设置区域的行数-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection

    2.4K70

    「死磕」Core Data——非标准数据类型的保存

    这个类,仅用于高效地管理从Core Data中取回的数据,供UITableView使用,也就是作为UITableView的数据源而存在的。...// 协议中有4个委托方法,用来告诉UITableView,Core Data中的数据有变化 [self.fetchedResultsController setDelegate:self...FetchedResultsController: %@\n%@", [error localizedDescription], [error userInfo]); abort(); } } 以上的初始化方法,会放在UITableViewController...objectAtIndexPath:indexPath]; 监视数据的变化 当Core Data中的数据发生变化时,可以通过 NSFetchedResultsControllerDelegate中的委托方法...UIImage、UIColor UIImage和UIColor这类遵守了NSCoding协议的对象,Core Data会帮你转换为NSData后,保存,取回来,也会帮你从NSData转为相对应的对象。

    1K60

    【IOS开发基础系列】Storyboard专题

    AppDelegate : UIResponder @property (strong, nonatomic) UIWindow *window; @end         当使用故事板的时候,应用程序委托必须从...由于无法从nib中加载应用程序委托,也无法从故事板文件中加载应用程序委托,我们必须告诉UIApplicationMain 应用程序委托类的名称,否则它根本无法找到应用程序委托类。...如果是使用IB ,在 MainWindow.xib中会有应用程序委托的一个引用,同时你可以将顶层的ViewController 连接到应用程序委托的IBOutlet 属性。但现在使用故事板就不可能了。...但我并不喜欢用tag 去访问 UILabel 和其他 cell 的 subview。如果这些Label 能连接到IBOutlet 属性岂不是更好?         ...我们将dequeueReusableCellWithIdentifier返回的结果转换为PlayerCell,然后用它的属性去访问Label 和 UIImageView。

    1.3K30

    【IOS开发基础系列】UISearch专题

    //.控件的委托,委托要遵从UISearchBarDelegate协议,默认是nil     bar.delegate = self; ③代理要试实现的协议方法 1).输入编辑事件处理 – searchBar...UIKeyboardTypeNamePhonePad; self.searchBar.showsBookmarkButton = YES;     //将seachBar作为控制器的透视图,视图控制器,继承UITableViewController...*/ if (tableView == self.tableView) { return self.dataArray.count;   } else{ NSPredicate *predicate...(iOS8新特性) UISearchController实现和上述效果基本一致,适用于iOS8以上版本 实现如下图搜索效果 3.1.2 1)新建数据源属性 代码如下:     1)新建控制器,继承与UITableViewController...4.1.3.1 UISearchBarDelegate委托处理 #pragma mark - UISearchBarDelegate 委托处理 - (void) searchBarTextDidBeginEditing

    59020

    iOS学习——tableview中带编辑功能的cell键盘弹出遮挡和收起问题解决

    一 主控制器为UITableViewController或其子类   首先,有一个很简单的解决方案,就是将我们的控制器换成UITableViewController或其子类,UITableViewController...但是,如果我们的整体布局并不是只有一个UITableView,或者我们在项目中需要用到MBProgressHUD框架时,我们可能就不能直接将我们的控制器设置成UITableViewController或其子类...,因为MBProgressHUD框架在UITableViewController和UICollectionViewController中显示会存在一些bug,在GitHub中的MBProgressHUD...二 主控制器为UIViewController或其子类   其实最开始我就是用的UITableViewController,结果要提示的要提示的tips总是显示不设定的位置上,后来才得以发现的这个bug...2.1 UITextField或UITextView点击之后的详细流程   在对cell进行封装和自定义的时候,我们需要考虑我们的UITextField或UITextView从点击编辑框到结束编辑的整个过程是怎么样的

    3.9K80

    在Swift中使用工厂进行依赖注入

    与其让对象创建自己的依赖关系或作为单例访问它们,不如让对象在工作中需要的一切都从外部传入。...例如,假设我们正在构建一个消息应用程序,我们有一个视图控制器来显示用户的所有消息: class MessageListViewController: UITableViewController {...为了启用回复功能,我们实现了一个MessageSender类,在创建新的视图控制器时,我们将其注入到新的视图控制器中,像这样: override func tableView(_ tableView:...这样我们就可以很容易地从任何地方访问它,并通过简单地使用它的共享实例将其注入MessageViewController中: let viewController = MessageViewController...window.rootViewController = UINavigationController( rootViewController: listViewController ) 不需要在任何地方保留任何全局变量,也不需要在应用程序委托中使用可选属性

    83320

    iOS-代码规范

    这个区别就是二者的信息流方向是不同的: delegate :事件发生的时候,委托者需要通知代理。(信息流从委托者到代理) datasource:委托者需要从数据源拉取数据。...(信息流从数据源到委托者) 然而包括苹果也没有做好榜样,将它们彻底的区分开。...:(NSIndexPath *)indexPath; 这个方法正确地体现了代理的作用:委托者(tableview)告诉代理(控制器)“我的某个cell被点击了”。...:(NSIndexPath *)indexPath; 该方法的作用是 由控制器来告诉tabievlew的行高,也就是说,它的信息流是从控制器(数据源)到委托者(tableview)的。...2.1 dealloc方法里面应该直接访问实例变量,不应该用点语法访问 2.2 init方法的写法: init方法返回类型必须是instancetype,不能是id。

    2.2K20

    iOS 代码规范

    这个区别就是二者的信息流方向是不同的: delegate :事件发生的时候,委托者需要通知代理。(信息流从委托者到代理) datasource:委托者需要从数据源拉取数据。...(信息流从数据源到委托者) 然而包括苹果也没有做好榜样,将它们彻底的区分开。...:(NSIndexPath *)indexPath; 这个方法正确地体现了代理的作用:委托者(tableview)告诉代理(控制器)“我的某个cell被点击了”。...:(NSIndexPath *)indexPath; 该方法的作用是 由控制器来告诉tabievlew的行高,也就是说,它的信息流是从控制器(数据源)到委托者(tableview)的。...2.1 dealloc方法里面应该直接访问实例变量,不应该用点语法访问 2.2 init方法的写法: init方法返回类型必须是instancetype,不能是id。

    2.4K20

    iOS 9 Storyboard 教程(二上)介绍Segue静态单元格(static cell)

    运行app,然后点击’+’号按钮.一个新的tableView就会从下往上滑出....然而新的控制器并不是非常有用 – 你甚至不能关闭它返回到上一个控制器.那是因为只有一个方法–虽然它可以从Player控制器到这个新的控制器,但是它却不能返回....还有一件关于静态单元格的事情:它们只工作在UITableViewController里.即使Interface Builder会让你添加它们到一个内置UIViewController的Table View...UITableViewController instances”.在另一方面,基本的单元格也可以在一个内置tableView的视图控制器里起作用. ---- Note: 如果你创建了一个有很多静态单元格的控制器...:)方法如下所示: override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath

    3.3K10
    领券