2013-04-08 21 views
1

我有一个iPad应用程序,UISplitViewController始终显示在横向上。它的主控制器是一个UITableViewController。UITableViewCell具有比UISplitViewController上的主视图控制器更宽的自定义selectedBackgroundView

我想拥有此UITableViewController上的单元格的selectedBackgroundView溢出到详细ViewController。事情是这样的:

image

我怎样才能做到呢?
如果我尝试设置红色箭头图像(即342px宽),它将被调整为320px。
我也尝试继承UIImageView并覆盖setFrame忽略任何试图调整他的形象调用,但仍然没有运气。

任何想法?

+1

尝试设置所有的'clipsToBounds'你可以想到'NO'的所有视图的属性。一旦你得到了一些有用的东西,把它们一个接一个地拿出来,直到你剩下最少的自定义来达到你的效果。 – Undo 2013-04-08 20:15:03

+0

它的工作!非常感谢:)我会在回答中发布我的更新代码 – josemando 2013-04-09 01:20:03

回答

0

(更新于2013年10月1日,以使其在iOS7工作)

荣誉给用户Erway软件帮了我。

这里是我得到的代码工作:

在的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 
+1

欢迎光临:) – Undo 2013-04-09 03:22:08

相关问题