2

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

我想让这个 UITableViewController 上的单元格的 selectedBackgroundView 溢出到细节 ViewController 中。像这样的东西:

图片

我怎样才能做到这一点?
如果我尝试设置红色箭头图像(即 342 像素宽),它会被调整为 320 像素。
我还尝试继承 UIImageView 并覆盖 setFrame 以忽略任何尝试调整图像大小的调用,但仍然没有运气。

有任何想法吗?

4

1 回答 1

0

(于 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
于 2013-04-09T02:58:35.890 回答