Wie bekomme ich UIViewController von einem UIView SuperView in iPhone SDK?
Ich habe einen UIViewController in denen ich einen UITextView Hinzugefügt von interface builder.Ich will jetzt schieben Sie einen Blick, wenn ich auf einen hyperlink oder Telefonnummer. Ich bin in der Lage zu erkennen, dass die url geklickt wird mithilfe einer Methode, die ich gefunden bei stackoverflow. Hier ist die Methode
@interface UITextView (Override)
@end
@class WebView, WebFrame;
@protocol WebPolicyDecisionListener;
@implementation UITextView (Override)
- (void)webView:(WebView *)webView decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id < WebPolicyDecisionListener >)listener
{
NSLog(@"request: %@", request);
}
@end
Nun möchte ich, um die viewController der textview ist superview, so dass ich drücken Sie eine andere viewController wenn ich auf URL/Telefonnummer.
InformationsquelleAutor der Frage Rahul Vyas | 2010-02-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht direkt auf ihn zugreifen, aber Sie können die nächste view-controller (falls vorhanden) durch das Durchlaufen der responder-Kette.
Dies ist, wie das Three20 framework es macht:
InformationsquelleAutor der Antwort Felixyz
Bitte beachten Sie, dass
-webView:decidePolicyForNavigationAction:...
ist eine undokumentierte Methode (für iPhoneOS sowieso. Es ist dokumentiert, für Mac OS X) und die app wird wahrscheinlich abgelehnt werden, wenn das für den AppStore.Eines view-controller ist nicht einer Ansicht zugeordnet. Nur umgekehrte gilt. Zugriff auf einen view-controller, damit es eine Global verfügbare variable oder Eigenschaft.
Wenn Sie den interface builder verwendet wird, normalerweise könnte man definieren, eine Steckdose, um die Anwendung zu delegieren, dass eine Verbindung mit dem navigation-view-controller. Dann können Sie
InformationsquelleAutor der Antwort kennytm
Können Sie die von UIviewController UIView
InformationsquelleAutor der Antwort Pravi Jay