MWFeedParser в приложении веб-браузер ВМЕСТО Safari - PullRequest
0 голосов
/ 08 августа 2011

Так что я использую MWFeedParser, который, на мой взгляд, является прекрасным приложением для подачи RSS, но при нажатии на ссылку он переходит в Safari. Я боюсь, что значительная часть пользователей iPhone не знает о том, что они могут дважды щелкнуть одну-единственную кнопку iPhone, чтобы просмотреть все открытые приложения и вернуться к каналу RSS, и, таким образом, застрянут. Поэтому я бы предпочел использовать встроенный браузер.

Другими словами, в настоящее время, когда я нажимаю на ссылку из MWFeedParser, она переходит в Safari; Я предпочитаю, чтобы он шел в браузере внутри приложения.

У меня настроен класс браузера, который называется WebViewController. в основном с [detailWebView loadRequest: [NSURLRequest requestWithURL: detailURL]]; Так что "detailURL" - это то, что он будет искать

Что мне поместить в DetailTableViewController вместо общего кода приложения ???

1 Ответ

2 голосов
/ 03 января 2012

Облом никто не смог ответить ... в случае, если другие ищут, как это сделать, измените содержание didSelectRowAtIndexPath на

if (_webViewController == nil) {
        self.webViewController = [[[WebViewController alloc] initWithNibName:@"WebViewController" bundle:[NSBundle mainBundle]] autorelease];
    }

    MWFeedItem *entry = [parsedItems objectAtIndex:indexPath.row];
    _webViewController.entry = entry;
    [self.navigationController pushViewController:_webViewController animated:YES];


    // Deselect
    [self.tableView deselectRowAtIndexPath:indexPath animated:YES];

Добавить WebViewController; .m имеет

#import "WebViewController.h"
#import "MWFeedItem.h"
@implementation WebViewController
@synthesize webView = _webView;
@synthesize entry = _entry;

// The designated initializer.  Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.


- (void)viewWillAppear:(BOOL)animated {

    NSURL *url = [NSURL URLWithString:_entry.link];    
    [_webView loadRequest:[NSURLRequest requestWithURL:url]];

}

- (void)viewWillDisappear:(BOOL)animated {

    [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];

}

- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc. that aren't in use.
}

- (void)viewDidUnload {
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}


- (void)dealloc {
    [_entry release];
    _entry = nil;
    [_webView release];
    _webView = nil;
    [super dealloc];
}

И .h имеет

@class MWFeedItem;

@interface WebViewController : UIViewController {
    UIWebView *_webView;
    MWFeedItem *_entry;
}

@property (retain) IBOutlet UIWebView *webView;
@property (retain) MWFeedItem *entry;

(По сути, я просто взял веб-часть RSS-фидера Рэя Вендерлиха и добавил ее к ней.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...