我有一个iPad应用程序,UISplitViewController始终显示在景观上。它的主控制器是UITableViewController。

我想让这个UITableViewController上的单元格的selectedBackgroundView溢出到详细信息ViewController中。像这样:

我该怎么做?
如果我尝试设置红色箭头图像(宽342像素),则会将其调整为320像素。
我还尝试子类化UIImageView并重写setFrame来忽略任何尝试调整其图像大小的调用,但是仍然没有运气。

有任何想法吗?

最佳答案

(于2013年10月1日更新,使其可以在iOS7上使用)

感谢用户Erway Software的帮助。

这是我获得代码的方式:

在UITableViewController上:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // ...
    UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"someId"];
    UIImage *image = [UIImage imageNamed:@"image_name"];
    SelectionImageView *imageView = [[SelectionImageView alloc] initWithImage:image];
    [cell setSelectedBackgroundView:imageView];

    [tableView setClipsToBounds:NO];
    [[[cell contentView] superview] setClipsToBounds:NO];
    // ...
}

这是SelectionImageView的代码:
@interface SelectionImageView : UIImageView

@end


@implementation SelectionImageView

- (void)setFrame:(CGRect)frame
{
    // 342 is the width of image_name
    if (frame.size.width == 342.f) {
        [super setFrame:frame];
    }
}

@end

关于ios - UITableViewCell具有自定义的selectedBackgroundView,其宽度大于UISplitViewController上的主 View Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15887836/

10-09 02:20