2013-05-15 3 views
0

Я использую RNBlurModalView (https://github.com/rnystrom/RNBlurModalView), чтобы размыть фон моего модального вида. Проблема в том, что когда я просматриваю свой просмотр таблицы, скриншот также не прокручивается. Когда вы прокручиваете, размытие в конце концов исчезает. Я знаю, что нужно использовать содержание смещение табличном, но я не уверен, как реализовать его в существующем кодеios tableview + screenshot

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 нормально, когда у вас есть только простую таблицу , но он не работает так хорошо, когда вы хотите добавить другие мнения, так что попробуйте это:

Измените 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 как подвью.