2013-05-15 82 views
0

我正在使用RNBlurModalView(https://github.com/rnystrom/RNBlurModalView)模糊我的模態視圖的背景。問題是,當我滾動我的表格視圖時,屏幕截圖也不會滾動。滾動時,模糊最終消失。我知道我需要使用內容表視圖的偏移,但我不知道如何實現它在現有的代碼ios tableview +屏幕截圖

RNBlurModalView.m 

#pragma mark - UIView + Screenshot 

@implementation UIView (Screenshot) 

- (UIImage*)screenshot { 

    UIGraphicsBeginImageContext(self.bounds.size); 
    [self.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    // hack, helps w/ our colors when blurring 
    NSData *imageData = UIImageJPEGRepresentation(image, 1); // convert to jpeg 
    image = [UIImage imageWithData:imageData]; 

    return image; 
} 

@end 

而我實現了視圖

- (IBAction)locationPressed:(id)sender { 

    UIStoryboard *storyBoard = [self storyboard]; 
    HomeViewController *homeView = [storyBoard instantiateViewControllerWithIdentifier:@"HomeViewController"]; 

    RNBlurModalView *modal = [[RNBlurModalView alloc] initWithViewController:self title:@"Hello world!" message:@"Pur your message here."]; 
    [modal show]; 


    [self presentPopupViewController:homeView animationType:MJPopupViewAnimationSlideBottomBottom]; 

任何想法的代碼?

謝謝。

+0

你能提供代碼,你介紹模糊視圖?我認爲問題在於你將它添加到UITableView,所以它作爲標題。 – Emanuel

+0

編輯了該問題以向您提供該代碼 – jacobt

回答

0

好吧,因爲我認爲這個問題是,當你調用[[RNBlurModalView alloc] initWithViewController:self title:@"Hello world!" message:@"Pur your message here."];的方法將自身添加到指定控制器的視圖:

- (id)initWithViewController:(UIViewController*)viewController view:(UIView*)view { 
    if (self = [self initWithFrame:CGRectMake(0, 0, viewController.view.width, viewController.view.height)]) { 
     [self addSubview:view]; 
... 
} 

那麼另一個問題是,使用的UITableViewController是OK的時候,你只需要一個簡單的表,但它不工作,當你想添加其他的意見好,所以試試這個:

修改您的viewDidLoad看起來是這樣的:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    // create a new view to lay underneath the UITableView 
    UIView *view = [[UIView alloc] initWithFrame:self.view.frame]; 
    view.autoresizingMask = self.view.autoresizingMask; 
    // add the uiTableView as a subview 
    [view addSubview:self.tableView]; 
    self.view = view; 
    self.tableView.frame = view.bounds; 
} 

它創建一個UIView並將它放在UITableView的下面。

下一次你需要的不僅僅是普通的UITableView,而應考慮使用UIViewController,而將UITableView作爲子視圖。