• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Wir haben den Frühjahrsputz beendet, Ihr auch? Welches Foto zu dem Thema hat Euch dann am Besten gefallen? Hier geht es lang zur Abstimmung --> Klick

Probleme mit ScrollView

stetze

Golden Delicious
Registriert
11.05.12
Beiträge
7
Hallo zusammen,

ich komme leider grade nicht weiter.

Folgendes Problem:
Ich bin dabei ein kleines App für unsere Firma zu erstellen. Dadrin benötige ich mehrere ScrollView Seiten.

Ich erstelle einen Neuen View Controller - lege darauf das Scroll View Element.

Erstelle ein neues Outlet auf dem Viewcontroller.h

Code:
[COLOR=#E50000][COLOR=#814726]
#import [/COLOR][/COLOR][COLOR=#E50000]<UIKit/UIKit.h>[/COLOR][COLOR=#222222]
[/COLOR]
[COLOR=#222222][COLOR=#CD00A3]@interface[/COLOR] ViewController : [COLOR=#7925AC]UIViewController[/COLOR][/COLOR]
[COLOR=#222222]
[/COLOR]
[COLOR=#CD00A3]@property[COLOR=#000000] ([/COLOR]weak[COLOR=#000000], [/COLOR]nonatomic[COLOR=#000000]) [/COLOR]IBOutlet[COLOR=#000000] [/COLOR][COLOR=#7925AC]UIScrollView[/COLOR][COLOR=#000000] *Ambulant;[/COLOR][/COLOR]
[COLOR=#222222]
[/COLOR]
[COLOR=#CD00A3]@end[/COLOR]

Dann erstelle ich eine leere xib Datei und lege dort ein View Feld in der Größe, die ich brauche an. Dadrauf kommen dann die Texte Bilder etc.

In die ViewController.m kommt dann noch folgender Code

Code:
[COLOR=#222222][COLOR=#CD00A3]@implementation[/COLOR] ViewController[/COLOR]
[COLOR=#CD00A3]@synthesize[COLOR=#000000] Ambulant;[/COLOR][/COLOR]
[COLOR=#222222]
[/COLOR]
[COLOR=#222222]- ([COLOR=#CD00A3]void[/COLOR])viewDidLoad[/COLOR]
[COLOR=#222222]{[/COLOR]
[COLOR=#430083][COLOR=#000000]    [[/COLOR][COLOR=#CD00A3]super[/COLOR][COLOR=#000000] [/COLOR]viewDidLoad[COLOR=#000000]];[/COLOR][/COLOR]
[COLOR=#008B00][COLOR=#000000]	[/COLOR]// Do any additional setup after loading the view, typically from a nib.[/COLOR]
[COLOR=#430083][COLOR=#000000]    [/COLOR][COLOR=#7925AC]NSArray[/COLOR][COLOR=#000000] *xibContents = [[[/COLOR][COLOR=#7925AC]NSBundle[/COLOR][COLOR=#000000] [/COLOR]mainBundle[COLOR=#000000]] [/COLOR]loadNibNamed[COLOR=#000000]:[/COLOR][COLOR=#E50000]@"MmB_Ambulant"[/COLOR][COLOR=#000000] [/COLOR]owner[COLOR=#000000]:[/COLOR][COLOR=#CD00A3]self[/COLOR][COLOR=#000000] [/COLOR]options[COLOR=#000000]:[/COLOR][COLOR=#CD00A3]nil[/COLOR][COLOR=#000000]];[/COLOR][/COLOR]
[COLOR=#222222]    [COLOR=#7925AC]UIView[/COLOR] *view = [xibContents [COLOR=#430083]lastObject[/COLOR]];[/COLOR]
[COLOR=#222222]    [[/COLOR][COLOR=#3a8288]Ambulant[/COLOR] [COLOR=#430083]addSubview[/COLOR]:view];
[COLOR=#000000]    [/COLOR][COLOR=#3a8288]Ambulant[/COLOR][COLOR=#000000].[/COLOR][COLOR=#7925ac]contentSize[/COLOR][COLOR=#000000] = view.[/COLOR][COLOR=#7925ac]frame[/COLOR][COLOR=#000000].[/COLOR][COLOR=#7925ac]size[/COLOR][COLOR=#000000];[/COLOR]
[COLOR=#222222]}[/COLOR]
[COLOR=#222222]
[/COLOR]
[COLOR=#222222]- ([COLOR=#CD00A3]void[/COLOR])viewDidUnload[/COLOR]
[COLOR=#222222]{[/COLOR]
[COLOR=#222222]    [[COLOR=#CD00A3]self[/COLOR] [COLOR=#205A5E]setTest[/COLOR]:[COLOR=#CD00A3]nil[/COLOR]];[/COLOR]
[COLOR=#430083][COLOR=#000000]    [[/COLOR][COLOR=#CD00A3]super[/COLOR][COLOR=#000000] [/COLOR]viewDidUnload[COLOR=#000000]];[/COLOR][/COLOR]
[COLOR=#008B00][COLOR=#000000]    [/COLOR]// Release any retained subviews of the main view.[/COLOR]
[COLOR=#222222]}[/COLOR]

Irgendwie funktioniert das jetzt nicht mehr... grummel...
Im Moment scheitere ich daran ein Outlet von dem SrollView in der ViewController.h zu erstellen.
Der nimmt das einfach nicht an.

IMG_0381.jpg

Freue mich über einen Tipp :)

Schonmal Danke.

Freundliche Grüße

Daniel Stetzenbach
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
Du hast doch schon im Code selbst ein IBOutlet für den Scrollview angelegt. Warum verbindest du dieses nicht einfach mit dem Scrollview?

MacApple
 

stetze

Golden Delicious
Registriert
11.05.12
Beiträge
7
Ja das habe ich gemacht, weil das Ziehen nicht funktioniert hat.
Sehe ich das richtig das ich den Punkt wo neben dem IBOutlet ist auf das ScrollView ziehen muss?
Normalerweise wird das ja dann markiert wenn ich mit dem Strich rübergehe, aber da passiert nichts.
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
Wenn Du so ziehst, wie in Deinem Foto oben, dann musst Du nur noch ein bisschen höher mit dem Mauszeiger gehen, so dass die Zeile hervorgehoben wird und „Connect Outlet“ erscheint.

MacApple
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
Und Du hast die Maus auch wirklich bis auf die Höhe von Zeile 13 gezogen? Da wo @property steht?

MacApple
 

Thyraz

London Pepping
Registriert
14.05.08
Beiträge
2.050
Sind das wirklich die selben ViewController, der orangene in der Interface Builder Hirarchie und die Klasse die du rechts geöffnet hast?
An sich müsstest du ja auch direkt von der Scrollview zu dem orangenen ViewController Icon in der IB-Seitenleiste links ziehen können.
 

stetze

Golden Delicious
Registriert
11.05.12
Beiträge
7
Mhh anscheinend war der ViewController einem falschen Header zugeordnet. Habe ihn von UIViewcontroller auf Viewcontroller gestellt. Danach konnte ich den Outlet erstellen.

Wie ist das jetzt, wenn ich 2 ScrollViews einbinden möchte? Wenn ich das so mache wie mit einem kommt ein Fehler:

ViewController.m
Semantic Issue -> Redefinition of "xibContents"
Semantic Issue -> Redefinition of "view"

Code:
[COLOR=#e50000][COLOR=#814726]#import [/COLOR]"ViewController.h"[/COLOR]


[COLOR=#3a8288][COLOR=#cd00a3]@interface[/COLOR]ViewController[COLOR=#000000] ()[/COLOR][/COLOR]


[COLOR=#cd00a3]@end[/COLOR]


[COLOR=#cd00a3]@implementation[/COLOR] ViewController
[COLOR=#cd00a3]@synthesize[/COLOR] MmB_Ambulant_Tagesstruktur;
[COLOR=#cd00a3]@synthesize[/COLOR] MmB_Ambulant_BetreutesWohnen;


- ([COLOR=#cd00a3]void[/COLOR])viewDidLoad
{
[COLOR=#430083][COLOR=#000000]    [[/COLOR][COLOR=#cd00a3]super[/COLOR]viewDidLoad[COLOR=#000000]];[/COLOR][/COLOR]
[COLOR=#008b00]// Do any additional setup after loading the view, typically from a nib.[/COLOR]
[COLOR=#430083][COLOR=#7925ac]NSArray[/COLOR][COLOR=#000000] *xibContents = [[[/COLOR][COLOR=#7925ac]NSBundle[/COLOR]mainBundle[COLOR=#000000]] [/COLOR]loadNibNamed[COLOR=#000000]:[/COLOR][COLOR=#e50000]@"MmB_Ambulant_Tagesstruktur"[/COLOR]owner[COLOR=#000000]:[/COLOR][COLOR=#cd00a3]self[/COLOR]options[COLOR=#000000]:[/COLOR][COLOR=#cd00a3]nil[/COLOR][COLOR=#000000]];[/COLOR][/COLOR]
    [COLOR=#7925ac]UIView[/COLOR] *view = [xibContents [COLOR=#430083]lastObject[/COLOR]];
[COLOR=#3a8288][COLOR=#000000]    [[/COLOR]MmB_Ambulant_Tagesstruktur[COLOR=#430083]addSubview[/COLOR][COLOR=#000000]:view];[/COLOR][/COLOR]
[COLOR=#3a8288]MmB_Ambulant_Tagesstruktur[COLOR=#000000].[/COLOR][COLOR=#7925ac]contentSize[/COLOR][COLOR=#000000] = view.[/COLOR][COLOR=#7925ac]frame[/COLOR][COLOR=#000000].[/COLOR][COLOR=#7925ac]size[/COLOR][COLOR=#000000];[/COLOR][/COLOR]
    
    [COLOR=#7925ac]NSArray[/COLOR] *xibContents = [[NSBundle mainBundle] loadNibNamed:[COLOR=#e50000]@"MmB_Ambulant_BetreutesWohnen"[/COLOR] owner:[COLOR=#cd00a3]self[/COLOR] options:[COLOR=#cd00a3]nil[/COLOR]];
    [COLOR=#7925ac]UIView[/COLOR] *view = [xibContents lastObject];
[COLOR=#3a8288][COLOR=#000000]    [[/COLOR]MmB_Ambulant_BetreutesWohnen[COLOR=#430083]addSubview[/COLOR][COLOR=#000000]:view];[/COLOR][/COLOR]
[COLOR=#3a8288]MmB_Ambulant_BetreutesWohnen[COLOR=#000000].[/COLOR][COLOR=#7925ac]contentSize[/COLOR][COLOR=#000000] = view.[/COLOR][COLOR=#7925ac]frame[/COLOR][COLOR=#000000].[/COLOR][COLOR=#7925ac]size[/COLOR][COLOR=#000000];[/COLOR][/COLOR]


}


- ([COLOR=#cd00a3]void[/COLOR])viewDidUnload
{
[COLOR=#205a5e][COLOR=#000000]    [[/COLOR][COLOR=#cd00a3]self[/COLOR]setMmB_Ambulant_Tagesstruktur[COLOR=#000000]:[/COLOR][COLOR=#cd00a3]nil[/COLOR][COLOR=#000000]];[/COLOR][/COLOR]
[COLOR=#205a5e][COLOR=#000000]    [[/COLOR][COLOR=#cd00a3]self[/COLOR]setMmB_Ambulant_BetreutesWohnen[COLOR=#000000]:[/COLOR][COLOR=#cd00a3]nil[/COLOR][COLOR=#000000]];[/COLOR][/COLOR]
[COLOR=#430083][COLOR=#000000]    [[/COLOR][COLOR=#cd00a3]super[/COLOR]viewDidUnload[COLOR=#000000]];[/COLOR][/COLOR]
[COLOR=#008b00]// Release any retained subviews of the main view.[/COLOR]
}


- ([COLOR=#cd00a3]BOOL[/COLOR])shouldAutorotateToInterfaceOrientation:([COLOR=#7925ac]UIInterfaceOrientation[/COLOR])interfaceOrientation
{
[COLOR=#430083][COLOR=#cd00a3]return[/COLOR][COLOR=#000000] (interfaceOrientation != [/COLOR]UIInterfaceOrientationPortraitUpsideDown[COLOR=#000000]);[/COLOR][/COLOR]
}


[COLOR=#cd00a3]@end[/COLOR]

Wenn ich das 2. ScrollView in
(void)viewDidLoad1 mache, kommt zwar keine Fehlermeldung, aber auch kein Inhalt.

Code:
- ([COLOR=#cd00a3]void[/COLOR])viewDidLoad
{
[COLOR=#430083][COLOR=#000000]    [[/COLOR][COLOR=#cd00a3]super[/COLOR]viewDidLoad[COLOR=#000000]];[/COLOR][/COLOR]
[COLOR=#008b00][COLOR=#000000]    [/COLOR]// Do any additional setup after loading the view, typically from a nib.[/COLOR]
[COLOR=#430083][COLOR=#7925ac]NSArray[/COLOR][COLOR=#000000] *xibContents = [[[/COLOR][COLOR=#7925ac]NSBundle[/COLOR]mainBundle[COLOR=#000000]] [/COLOR]loadNibNamed[COLOR=#000000]:[/COLOR][COLOR=#e50000]@"MmB_Ambulant_Tagesstruktur"[/COLOR]owner[COLOR=#000000]:[/COLOR][COLOR=#cd00a3]self[/COLOR]options[COLOR=#000000]:[/COLOR][COLOR=#cd00a3]nil[/COLOR][COLOR=#000000]];[/COLOR][/COLOR]
    [COLOR=#7925ac]UIView[/COLOR] *view = [xibContents [COLOR=#430083]lastObject[/COLOR]];
[COLOR=#3a8288][COLOR=#000000]    [[/COLOR]MmB_Ambulant_Tagesstruktur[COLOR=#430083]addSubview[/COLOR][COLOR=#000000]:view];[/COLOR][/COLOR]
[COLOR=#3a8288]MmB_Ambulant_Tagesstruktur[COLOR=#000000].[/COLOR][COLOR=#7925ac]contentSize[/COLOR][COLOR=#000000] = view.[/COLOR][COLOR=#7925ac]frame[/COLOR][COLOR=#000000].[/COLOR][COLOR=#7925ac]size[/COLOR][COLOR=#000000];[/COLOR][/COLOR]
}
-([COLOR=#cd00a3]void[/COLOR])viewDidLoad1
{
[COLOR=#430083][COLOR=#000000]    [[/COLOR][COLOR=#cd00a3]super[/COLOR]viewDidLoad[COLOR=#000000]];[/COLOR][/COLOR]
[COLOR=#430083][COLOR=#7925ac]NSArray[/COLOR][COLOR=#000000] *xibContents = [[[/COLOR][COLOR=#7925ac]NSBundle[/COLOR]mainBundle[COLOR=#000000]] [/COLOR]loadNibNamed[COLOR=#000000]:[/COLOR][COLOR=#e50000]@"MmB_Ambulant_BetreutesWohnen"[/COLOR]owner[COLOR=#000000]:[/COLOR][COLOR=#cd00a3]self[/COLOR]options[COLOR=#000000]:[/COLOR][COLOR=#cd00a3]nil[/COLOR][COLOR=#000000]];[/COLOR][/COLOR]
    [COLOR=#7925ac]UIView[/COLOR] *view = [xibContents [COLOR=#430083]lastObject[/COLOR]];
[COLOR=#3a8288][COLOR=#000000]    [[/COLOR]MmB_Ambulant_BetreutesWohnen[COLOR=#430083]addSubview[/COLOR][COLOR=#000000]:view];[/COLOR][/COLOR]
[COLOR=#3a8288]MmB_Ambulant_BetreutesWohnen[COLOR=#000000].[/COLOR][COLOR=#7925ac]contentSize[/COLOR][COLOR=#000000] = view.[/COLOR][COLOR=#7925ac]frame[/COLOR][COLOR=#000000].[/COLOR][COLOR=#7925ac]size[/COLOR][COLOR=#000000];[/COLOR][/COLOR]


}


- ([COLOR=#cd00a3]void[/COLOR])viewDidUnload
{
[COLOR=#205a5e][COLOR=#000000]    [[/COLOR][COLOR=#cd00a3]self[/COLOR]setMmB_Ambulant_Tagesstruktur[COLOR=#000000]:([/COLOR][COLOR=#7925ac]UIScrollView[/COLOR][COLOR=#000000] *)[/COLOR][COLOR=#cd00a3]nil[/COLOR][COLOR=#000000]];[/COLOR][/COLOR]
[COLOR=#430083][COLOR=#000000]    [[/COLOR][COLOR=#cd00a3]super[/COLOR]viewDidUnload[COLOR=#000000]];[/COLOR][/COLOR]
[COLOR=#008b00]// Release any retained subviews of the main view.[/COLOR]
}


- ([COLOR=#cd00a3]void[/COLOR])viewDidUnload1
{
[COLOR=#205a5e][COLOR=#000000]    [[/COLOR][COLOR=#cd00a3]self[/COLOR]setMmB_Ambulant_BetreutesWohnen[COLOR=#000000]:([/COLOR][COLOR=#7925ac]UIScrollView[/COLOR][COLOR=#000000] *)[/COLOR][COLOR=#cd00a3]nil[/COLOR][COLOR=#000000]];[/COLOR][/COLOR]
[COLOR=#430083][COLOR=#000000]    [[/COLOR][COLOR=#cd00a3]super[/COLOR]viewDidUnload[COLOR=#000000]];[/COLOR][/COLOR]
[COLOR=#008b00]// Release any retained subviews of the main view.[/COLOR]
}


Ahhhh.. ich hab es gerafft... Hat sich vorerst mal erledigt. Danke für eure Hilfe.
 
Zuletzt bearbeitet:

stetze

Golden Delicious
Registriert
11.05.12
Beiträge
7
Jetzt habe ich ein Problem mit der Navigation...

Ich habe auf einer Seite Übersicht eine Navigationsbar und eine Toolbar mit 3 Buttons die auf Seite1, Seite2, Seite3 verweisen, wenn ich jetzt auf Seite 2 möchte, drücke ich auf Seite 2. Auf Seite 2 gibt es die gleichen Buttons und auf Seite 3 auch. Auf Seite 2 drücke ich dann wieder auf Seite 1. Bzw. auf Seite 3.

Wenn ich jetzt versuche mit der Navigationsbar zurück zur Übersichtsseite zu gelangen. Bringt mich diese erst wieder zurück auf Seite 2, dann auf Seite 1 und dann erst auf die Übersichtseite. Kann man irgendwie einstellen, welche Seite in der Navigationsbar verlinkt sein soll?
 

stetze

Golden Delicious
Registriert
11.05.12
Beiträge
7
Mhh das App ist sowas von langsam. Hat jemand eine Idee wodran das liegt? Die ipa Datei ist 7.3 MB groß. Es sind nur Bilder und Text enthalten.

Das ganze ist mit ein paar TableViews und Scrollviews aufgebaut.

Insgesamt sind es 13 Tableviews und 91 Scrollviews und dann quasi 91 xib Dateien. Kann man da irgendwas beschleunigen? Wenn ich auf eine Seite mit einem Scrollview gehe, dauert das ungefähr 20-30 Sekunden bis die Seite aufgeht.
 

LittlePixel

Strauwalds neue Goldparmäne
Registriert
09.07.08
Beiträge
641
Hallo Daniel,

bitte nicht böse sein und nimm es nicht persönlich…

Hast Du Dich schon mit den Grundlagen beschäftigt?
Soll das eine professionelle Anwendung für euer Haus sein?
Wenn ja, warum lasst ihr diese nicht richtig erstellen bzw. lernt es erst richtig?

Bei mir kam gerade der Eindruck auf, dass Du Dich versuchst durchzufragen.
Ich lese aber auch positiv heraus, dass Du bemüht bist.

Viele Grüße