小编min*_*rat的帖子

iOS UICollectionView原型单元格大小属性被忽略

我正在使用带有两个原型单元的UICollectionView.原型单元格具有不同的宽度并包含不同的控件(图像视图和Web视图).我肯定会返回给定索引的正确原型单元格(所有单元格显示正确的内容),但忽略原型单元格大小,而是使用集合视图的项目大小.这不像是我手动设置大小.如果在实际显示属性时忽略属性,那么允许在故事板中调整原型单元的大小是什么意思?

collectionview ios uicollectionview

63
推荐指数
4
解决办法
8万
查看次数

当在前一个视图的导航栏中显示搜索栏时,无法在推送的vc导航栏中的"搜索"中更改后退按钮标题

当前一个视图在导航控制器中显示搜索栏时,我无法在推入视图上更改后退按钮标题.

ListView有一个UISearchBar,显示在导航栏中.

DetailView是从ListView的包含表中推送出来的.除非从导航栏中删除搜索栏,否则详细信息视图中导航栏中的按钮始终标题为"搜索".

我已经尝试在故事板中更改DetailView的navitem上的后退按钮文本而没有效果.更改此navitem中的主标题确实有效.删除标题会将名称还原为视图控制器的名称 - 因此这是实时navitem.

我试过在viewDidLoad中设置self.navigationitem.backBarButtonItem.text = @"ASDF",后面的按钮标题仍然是搜索.

UISearchDisplayController不响应UIViewController的setTitle方法 - 我尝试将我的实例转换为常规视图控制器来设置标题.

看起来后退按钮标题被设置为searchDisplayController的硬编码,不可变标题"搜索".这是真正意图的行为吗?我究竟做错了什么?

uinavigationcontroller uisearchbar uinavigationitem ios7

4
推荐指数
1
解决办法
401
查看次数

自定义UICollectionViewCell内的UIActivityIndi​​cator - 仅在第一个单元格中显示/动画

在用户按下我的收集单元格中的按钮后,我正在设置ActivityIndi​​cator,同时我等待网络响应.下面的代码由自定义单元格的每个实例调用(在调试器中确认),但活动指示器仅在第一个单元格中单击按钮时显示,或者在重用第一个单元格的单元格中单击时显示.如果我在第一个单元格之前单击另一个单元格中的按钮并不重要.

customCollectionViewCell.m
@interface customCollectionViewCell(){
    UIActivityIndicatorView *activityIndicator;
}

@implementation cutomCollectionViewCell
 - (void) choiceClicked:(id)sender{

   dispatch_async(dispatch_get_main_queue(), ^{
        activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
        actvityIndicator.center = self.center;
        [self.contentView addSubview:activityIndicator];
        [actvityIndicator startAnimating];
    });
    async - network stuff
}
Run Code Online (Sandbox Code Playgroud)

我正在确保准备重用,我正在从superview中删除指标并设置为nil.

我也尝试过只创建指标,如果它不存在并开始动画 - 行为仍然没有变化.
编辑:如果仅从主线程调用动画并且其他调用明确地是默认队列的一部分也无关紧要.

if (activityIndicator == nil){
    activityIndicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
    activityIndicator.center = self.center;
    [self.contentView addSubview:activityIndicator];
}
dispatch_async(dispatch_get_main_queue(), ^{
    [activityIndicator startAnimating];
});
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
    network call
        });
Run Code Online (Sandbox Code Playgroud)

uiactivityindicatorview ios uicollectionview uicollectionviewcell

2
推荐指数
1
解决办法
1744
查看次数