Frage

Ich habe ein UIView das enthält a UITextView.Der UIView wird innerhalb von a initiiert UIViewController.

Aber wenn ich das berühre UITextView Box, nichts passiert.Weder die Tastatur wird angezeigt, noch reagieren Delegatenmethoden auf Interaktion.

Code:

    noteText = [[UITextView alloc]initWithFrame:CGRectMake(0, 0, 700, 240)];
    noteText.layer.borderColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.2].CGColor;
    noteText.layer.borderWidth = 2;
    [noteText setEditable:YES];
    noteText.userInteractionEnabled = YES;
    noteText.returnKeyType = UIReturnKeyDone;
    noteText.font = [UIFont fontWithName:@"Calibri" size:16];
    noteText.textColor = [UIColor blackColor];
    [self addSubview:noteText];

Update 1

Ich habe alle anderen Ansichten aus dem UIViewController entfernt und nur eine UITextView in den UIViewController eingefügt und immer noch nicht reagiert.Weder Cursor noch Tastatur werden angezeigt.

War es hilfreich?

Lösung 2

Ich habe den Fehler gefunden.

In einer Klasse kategorisiere ich die UITextView anstelle der Unterklasse und setze canBecomeFirstResponder auf NO.

Andere Tipps

noteText = [[UITextView alloc]initWithFrame:CGRectMake(0, 0, 700, 240)];
noteText.layer.borderColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.2].CGColor;
noteText.layer.borderWidth = 2;
[noteText setEditable:YES];
noteText.userInteractionEnabled = YES;
noteText.returnKeyType = UIReturnKeyDone;
noteText.font = [UIFont fontWithName:@"Calibri" size:16];
noteText.textColor = [UIColor blackColor];
[self addSubview:noteText];

// Zwei Vorschläge

self.userInteractionEnabled = YES; // superview may blocks touches
self.clipsToBounds = YES; // superview may clips your textfield, you will see it

Versuche dies:Passen Sie in Ihrer .h-Datei den Delegaten UITextViewDelegate an

:<UITextViewDelegate>

in Ihrer .m-Datei:

noteText.delegate = self;

Und delegierte Methoden:

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView{
    [textView becomeFirstResponder];
    return YES;
}

- (BOOL)textViewShouldEndEditing:(UITextView *)textView{
    //resign for exapmple
    return YES;
}

Ich hoffe das hilft!

Ich weiß, es ist spät, aber vielleicht hilft es jemandem.Ich hatte das gleiche Problem und es verschwand, nachdem ich es verwendet hatte

[self setSelectable:true];

in meiner UITextView-Unterklasse.

Überprüfen Sie diese Dinge:

  1. Fügen Sie rechts Ihren Viewcontroller hinzu UIWindow.

  2. Fenster einstellen makeKeyAndVisible und hinzufügen rootViewController um bei dieser Methode zu fenstern:

    -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    Ich denke, hier stimmt etwas in der xib-Datei oder bei appdelegate.

Versuchen Sie es mit Überschreiben - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { in der UIView, um zu sehen, ob sie Berührungen empfängt

Versuchen Sie es für alle Fälle mit der Einstellung userInteractionEnabled = YES; für Ihr UIView-Objekt.Wenn es irgendwie auf NEIN gesetzt ist, wird es auf alle Unteransichten übertragen

Möglicherweise ist bei der Überschreibung ein Fehler aufgetreten -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event Methode?Vielleicht tust du das resignFirstResponder dort oder vor allem etwas Aussicht?

Wenn so etwas passiert, überprüfen Sie die folgenden Punkte:

  1. Stellen Sie sicher, dass die Textansicht ordnungsgemäß beibehalten und erst in freigegeben wird dealloc.(Wenn Sie nicht verwenden ARC)
  2. Überprüfen Sie den Rahmen sowohl der Textansicht als auch der übergeordneten Ansichten.Stellen Sie sicher, dass die subview passt genau in die übergeordnete Ansicht.Stellen Sie außerdem sicher, dass dies bei allen der Fall ist superviews der Textansicht.
  3. Prüfen Sie, ob die delegate richtig eingestellt ist.

Wenn dies alles erledigt ist, versuchen Sie, oben in der Textansicht eine Schaltfläche hinzuzufügen, und prüfen Sie, ob dies der Fall ist target selector wird angerufen.Wenn ja, liegt das Problem beim Delegierten der Textansicht oder der Release-Anweisung.Andernfalls liegt das Problem an der Rahmeneinstellung der Textansicht oder deren Übersichten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top