相关疑难解决方法(0)

为什么我的UIView子视图不在父级内呈现?(附代码)

为什么我的自定义UIView不在UIView其父容器的容器内呈现?所以我拥有的是:

  • MainViewController - 有一个UIView" customViewContainer"(它不占用整个屏幕),和
  • CustomView - 是一个UIView带有XIB文件的 - 它在UIView这里呈现时(使用AspectFit)呈现在父" customViewContainer" 的范围之外

用于设置自定义视图的代码是MainViewController的提取:

"切 - 见下面的Update2"

所以我不明白为什么CustomView视图以比父母更大的面积呈现customViewContainer?我想要的是完全按照类型方法customview适合父母" customViewContainer" AspectFit.

谢谢

编辑1(添加说明) - 如果我在父视图中"剪辑子视图"然后它会剪切内容,但我真正需要在父视图区域内渲染自定义视图(而不是整个屏幕区域).所以我需要(a)自定义视图的中心位于父视图的中心,以及(b)正确地将AspectFit视图放入父视图中.有任何想法吗?

编辑2 - 更新

抱歉 - 在原始问题中使用代码复制/粘贴错误 - 似乎无法编辑它所以我将在下面放置正确的版本 - 所以澄清:

MainViewController- 有一个UIView" containerView"(它不占用整个屏幕),并且CustomView- 是一个UIView带有XIB文件 - 它在UIView这里被渲染(带AspectFit)渲染超出了父" containerView" 的界限

使用下面的代码,这现在有意义吗?这个代码的原因是我有一个自定义UIView,但我有一个与之关联的XIB文件,所以这是让我的MainController视图能够使用它的唯一方法.也就是说,在容器视图中 …

iphone uiviewcontroller uiview addsubview ios

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

iOS 8 - AutoLayout问题 - UITableViewCell内的UIImageView忽略宽度约束

我有iOS 8的问题autolayout.
我想要一个UITableviewCell带有a UILabel和5 的自定义UIImageView.我希望图像以横向模式显示,但不能以纵向模式显示,因为这样UILabel会被挤压缩小.

我在界面构建器中设计了视图,并添加了以下约束(以及其他):

 1. priority 1000: Label width >= 120px
 2. priority 1000: ImageView[1..5]
    horizontal space to next one = 0px (to align them next to each
    other, the rightmost image view got horizontal space = 0 to content
    view to align them to the right side) 
 3. priority  999: ImageView[1..5]
    width = 40px 
 4. priority  998: ImageView[1..5] width =  0px (hide image
    views if the 40px constraint …
Run Code Online (Sandbox Code Playgroud)

objective-c uiimageview ios autolayout ios8

6
推荐指数
1
解决办法
3089
查看次数

UITableViewCell中的UIImageView没有得到更新

我正在创建一个UITableViewCell包含一个UIImageView和一些相关文本的自定义.我从互联网上获取图像,当图像加载时,我显示一个临时的UIImage.

我正在使用一个单独的线程来获取UIImage.一旦UIImage下载,我在主线程上触发一个方法来设置图像UIImageView(获取UIImageView使用标签的实例)

但无论我做什么,图像都不会改变.单元格仍然显示较旧的图像(对应于不同的行 - 由于重复使用单元格)并且不反映新图像.日志语句显示正在调用设置图像的方法.

我甚至尝试将图像更改为静态图像,willDisplayCell:forRowAtIndexPath: 但即使这样,图像也不会改变.

编辑
我打过电话reloadDataUITableView改变后UIImage,但UIImage依然不改.

这是相关的代码段

的cellForRowAtIndexPath

        image = [imagesArray valueForKey:[NSString stringWithFormat:@"%i",indexPath.row]];
        if(image == nil){
            //display temporary images. When scrolling stops, detach new thread to get images for rows visible
            NSString *pth = [[NSBundle mainBundle] pathForResource:@"folder" ofType:@"png"];
            image = [UIImage imageWithContentsOfFile:pth];
            [imgView setImage:image];
        }
        else{
            [imgView setImage:image];
        }
Run Code Online (Sandbox Code Playgroud)

下载图像后在主线程上调用的方法

-(void)setImageInArray:(NSIndexPath *)indPath{
    [filesTable reloadData]; …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch uitableview

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