Search Results

Search found 69 results on 3 pages for 'uitableviewdelegate'.

Page 1/3 | 1 2 3  | Next Page >

  • Problem in UITableViewDelegate - RowSelected gives wrong NSIndexPath

    - by vlad259
    I have a UITableViewSource which I have subclassed. I'm overriding GetCell and using my own subclassed cells, like so: public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) { MarketItem item=_tableItems[indexPath.Section].Items[indexPath.Row]; MarketCell cell=tableView.DequeueReusableCell(_cellIdentifier) as MarketCell; if (cell==null) { cell=new MarketCell(UITableViewCellStyle.Subtitle,_cellIdentifier,item); } // decorate the cell // ... return cell; } This works but when I get events in my UITableViewDelegate, the index path gets me the wrong cell (events like AccessoryButtonTapped, WillSelectRow etc). The Section and Row numbers look correct but when I do a tableView.CellAt(indexPath) I get the wrong cell. (The row and section numbers again look correct.) Things to note: The table is constantly being updated - items arrive in a different thread which are then InvokeOnMainThread'd Although the table is constantly updated, rows and sections are only added - nothing is re-ordered or deleted If I pause the updates when I get a 'WillSelectRow', it doesn't help Most interestingly (but not a shippable solution) if I make a new cell each time rather than doing DequeueReusableCell, it works correctly. I can't help thinking it's a stupid bug of my own making but can't find it. Any help would be most gratefully received!

    Read the article

  • cellForRowAtIndexPath not called for all sections

    - by Wynn
    I have a UITableView that has five sections. Just as the title describes cellForRowAtIndexPath is only being called for the first four. All connections have been made concerning the datasource and delegate. Also, my numberOfSectionsInTableView clearly returns 5. Printing out the number of sections from within cellForRowAtIndexPath shows the correct number, thus confirming that cellForRowAtIndexPath is simply not being called for all sections. What on earth is going on? I looked pretty hard for an answer to this question but could't find one. If this has already been answered please forgive me and point me in the correct direction. My cellForRowAtIndexPath: - (UITableViewCell *)tableView:(UITableView *)theTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [theTableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; } switch (indexPath.section) { case 0: cell.textLabel.text = ticket.description; break; case 1: cell.textLabel.text = ticket.ticketStatus; break; case 2: cell.textLabel.text = ticket.priority; break; case 3: cell.textLabel.text = ticket.customerOfficePhone; break; case 4: { //This never ever gets executed Comment *comment = [ticket.comments objectAtIndex:indexPath.row]; cell.textLabel.text = comment.commentContent; break; } } return cell; } My numberOfSectionsInTableView: - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 5; } My numberOfRowsInSection: - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { NSInteger numberOfRows; if (section == 4) { numberOfRows = [ticket.comments count]; } else { numberOfRows = 1; } return numberOfRows; } Any suggestions are appreciated. Thanks in advance.

    Read the article

  • Programmatically Update UITableView in Response to Button Press

    - by Kyle Begeman
    I have a completely custom view that holds a UITableView and a Custom Tab Bar (basically a UIView that contains 6 UIButtons). I am loading data from a plist file, and then I am sorting the data into multiple arrays based on categories (an array for misc items, and array for mail items, etc.) Each button in the tab bar represents a category, and when I press the button I call the custom function "miscSelected" and so on. How can I have the table view completely reload and then display the tableview based on the array selected (select the misc category and the tableview clears itself and loads the misc array data, same for any other category)? The method I have experimented with is created and NSString named "selection" and then in each button function I set selected to equal whatever section I am selecting. In my cellForRoxAtIndexPath method I have this: if ([self.selection isEqualToString:@"All Items"]) { NSArray *mainDataArray = [NSArray arrayWithContentsOfFile:self.plistFile]; NSSortDescriptor *brandDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]; NSArray *sortDescriptors = [NSArray arrayWithObject:brandDescriptor]; self.sortedData = [mainDataArray sortedArrayUsingDescriptors:sortDescriptors]; } else if ([self.selection isEqualToString:@"Misc Items"]){ self.sortedData = [NSArray arrayWithContentsOfFile:self.plistFile]; } cell.itemTitle.text = [[self.sortedData objectAtIndex:indexPath.row] objectForKey:@"name"]; For the sake of example and testing I am simply displaying the same data, just one button displays it in alphabetical order and the other does not. This code works only when I start to scroll down and back up, but it does not actually update on button press. Calling myTable reloadData does not do anything either. Any help would be great, thanks!

    Read the article

  • Cannot find protocol declaration in Xcode

    - by edie
    Hi.. I've experienced something today while I'm building my app. I've added a protocol in my object and assign delegate object on it. I added the protocol on the object that will implement the protocol's method. I've added it in this way as usual @interface MyObject : UIViewController <NameOfDelegate> But the Xcode says that my the protocol declaration cannot be found. I've check my code but I've declared this protocol. I've try to assign MyObject as delegate of other Object. I've edit my code like this @interface MyObject : UIViewController <UITableViewDelegate,NameOfDelegate> but Xcode say again that it cannot found declaration of protocol of NameOfDelegate. I've tried to delete the NameOfDelegate on my code and add assign MyObject as delegate of other object and it goes like this. @interface MyObject : UIViewController <UITableViewDelegate,UITabBarDelegate> No errors have been found. Then I've tried again to add again my NameOfDelegate in the code @interface MyObject : UIViewController <UITableViewDelegate,UITabBarDelegate,NameOfDelegate> At that time Xcode did not find any error on my code. So I tried again to remove the UITableViewDelegate and UITabBarDelegate on my code. @interface MyObject : UIViewController <NameOfDelegate> At that time No error had found but that was the same code I've write before. What should probably the cause of that stuff on my code? Thanks...

    Read the article

  • How to avoid big and clumpsy UITableViewController on iOS?

    - by Johan Karlsson
    I have a problem when implementing the MVC-pattern on iOS. I have searched the Internet but seems not to find any nice solution to this problem. Many UITableViewController implementations seems to be rather big. Most example I have seen lets the UITableViewController implement UITableViewDelegate and UITableViewDataSource. These implementations are a big reason why UITableViewControlleris getting big. One solution would be to create separate classes that implements UITableViewDelegate and UITableViewDataSource. Of course these classes would have to have a reference to the UITableViewController. Are there any drawbacks using this solution? In general I think you should delegate the functionality to other "Helper" classes or similar, using the delegate pattern. Are there any well established ways of solving this problem? I do not want the model to contain to much functionality, nor the view. A believe that the logic should really be in the controller class, since this is one of the cornerstones of the MVC-pattern. But the big question is; How should you divide the controller of a MVC-implementation into smaller manageable pieces? (Applies to MVC in iOS in this case) There might be a general pattern for solving this, although I am specifically looking for a solution for iOS. Please give an example of a good pattern for solving this issue. Also an argument why this solution is awesome.

    Read the article

  • How to avoid big and clumsy UITableViewController on iOS?

    - by Johan Karlsson
    I have a problem when implementing the MVC-pattern on iOS. I have searched the Internet but seems not to find any nice solution to this problem. Many UITableViewController implementations seems to be rather big. Most examples I have seen lets the UITableViewController implement <UITableViewDelegate> and <UITableViewDataSource>. These implementations are a big reason why UITableViewControlleris getting big. One solution would be to create separate classes that implements <UITableViewDelegate> and <UITableViewDataSource>. Of course these classes would have to have a reference to the UITableViewController. Are there any drawbacks using this solution? In general I think you should delegate the functionality to other "Helper" classes or similar, using the delegate pattern. Are there any well established ways of solving this problem? I do not want the model to contain too much functionality, nor the view. I believe that the logic should really be in the controller class, since this is one of the cornerstones of the MVC-pattern. But the big question is: How should you divide the controller of a MVC-implementation into smaller manageable pieces? (Applies to MVC in iOS in this case) There might be a general pattern for solving this, although I am specifically looking for a solution for iOS. Please give an example of a good pattern for solving this issue. Please provide an argument why your solution is awesome.

    Read the article

  • Using Kal calendar without doing the initialization (and so on) in the AppDelegate

    - by testing
    I'm using the Kal calendar. For the code shown below I'm referring to the Holiday example. In this example the allocation and initialization of Kal is done in the applicationDidFinishLaunching in the AppDelegate. The UITableViewDelegate protocol (e.g. didSelectRowAtIndexPath) is also positioned in the AppDelegate class. The AppDelegate: #import "HolidayAppDelegate.h" #import "HolidaySqliteDataSource.h" #import "HolidaysDetailViewController.h" ## Heading ###import "Kal.h" @implementation HolidayAppDelegate @synthesize window; - (void)applicationDidFinishLaunching:(UIApplication *)application { kal = [[KalViewController alloc] init]; kal.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Today" style:UIBarButtonItemStyleBordered target:self action:@selector(showAndSelectToday)] autorelease]; kal.delegate = self; dataSource = [[HolidaySqliteDataSource alloc] init]; kal.dataSource = dataSource; // Setup the navigation stack and display it. navController = [[UINavigationController alloc] initWithRootViewController:kal]; [window addSubview:navController.view]; [window makeKeyAndVisible]; } // Action handler for the navigation bar's right bar button item. - (void)showAndSelectToday { [kal showAndSelectDate:[NSDate date]]; } #pragma mark UITableViewDelegate protocol conformance // Display a details screen for the selected holiday/row. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { Holiday *holiday = [dataSource holidayAtIndexPath:indexPath]; HolidaysDetailViewController *vc = [[[HolidaysDetailViewController alloc] initWithHoliday:holiday] autorelease]; [navController pushViewController:vc animated:YES]; } #pragma mark - - (void)dealloc { [kal release]; [dataSource release]; [window release]; [navController release]; [super dealloc]; } @end I don't want to put this into the AppDelegate, because there could be some overlapping code with other views. It should be a separate "component" which I can call and put on the stack. In my navigation based project I have a main view, the RootViewController. From there I want to push the Kal view on the stack. Currently I'm pushing an additional ViewController on the stack. In the viewWillAppear method from this ViewController I do the things shown in the code above. The following problems appear: Navigation back has to be done two times (one for the Kal calendar, one for my created view) Navigation to my main view is not possible anymore In the moment I don't know where to put this code. So the question is where to put the methods for allocation/initialization as well as the methods for the UITableViewDelegate protocol.

    Read the article

  • UITableView superClass for delegate?

    - by fuzzygoat
    A quick question, I am setting a delegate for UITableView and I have a question regarding setting the delegate and dataSource properties. I have noticed that the properties for delegate and dataSource are not available, I was thinking that adopting the protocols would make them available. But I am now thinking that I maybe have the superclass for my delegate class wrong. Currently I have: -(void)viewDidLoad { TestDelegate *tempDelegate = [[TestDelegate alloc] init]; [self setMyDelegate:tempDelegate]; // setDelegate // setDataSource [tempDelegate release]; [super viewDidLoad]; } My interface for TestDelegate looks like: @interface TestDelegate : NSObject <UITableViewDelegate, UITableViewDataSource> { NSArray *listData; int myCounter; } Can I ask if the above should be: @interface TestDelegate : UITableView <UITableViewDelegate, UITableViewDataSource> { NSArray *listData; int myCounter; } gary EDIT: I think it might be right as NSObject, I have a viewtableView in IB, thats what I will need to connect my delegate class to. I added to tableView in IB so maybe I just need to make it available in Xcode.

    Read the article

  • IOS Variable vs Property

    - by William Smith
    Just started diving into Objective-C and IOS development and was wondering when and the correct location I should be declaring variables/properties. The main piece of code i need explaining is below: Why and when should i be declaring variables inside the interface statement and why do they have the same variable with _ and then the same one as a property. And then in the implementation they do @synthesize tableView = _tableView (I understand what synthesize does) Thanks :-) @interface ViewController : UIViewController <UITableViewDataSource, UITableViewDelegate> { UITableView *_tableView; UIActivityIndicatorView *_activityIndicatorView; NSArray *_movies; } @property (nonatomic, retain) UITableView *tableView; @property (nonatomic, retain) UIActivityIndicatorView *activityIndicatorView; @property (nonatomic, retain) NSArray *movies;

    Read the article

  • Customized UISearchBar

    - by Matt
    I've got an app with the following class: @interface SearchViewController : UIViewController <UITableViewDataSource, UITableViewDelegate, UISearchBarDelegate> @property (nonatomic, retain) IBOutlet UISearchBar *search; How can I customize UISearchBar? I'd like to add a segmented button to allow for search options (and/or/phrase).

    Read the article

  • Select First Row as default in UITableView [Urgent]

    - by tushar
    hi , ihave application that is viewbased and i am adding tableview as subview to main view and i have taken UITableViewDelegate to respond the table methods everything is working fine but i want to select first row or UITableView as default selected(Highlighted) plz help me if possible then send me sample code and where i have to place that code means in which method or event Thanks In Advance

    Read the article

  • UITableView not rotating even after using autoresize mask and shouldAutororateForInterfaceOrientatio

    - by Amal
    I have a UIView, that contains a navigation bar, and UITableView. I implemented a UIViewController that implements a UITableViewDelegate. I over-rided the shouldAutorotateForInterfaceOrientation for the UIView to return YES for landscape and portrait mode. But the View does not seem to rotate. I did a similar thing without the Navigation bar and the Tableview and the view rotates. Is is something i am missing.

    Read the article

  • UITableView less than full screen from code?

    - by Gerry
    I have a number of views that use UITableView. (I use UIViewController and implement UITableViewDelegate and UITableViewDataSource interfaces.) I'm having trouble creating a tableview that leaves room at the top for a toolbar. How to I size and layout the Tableview so that it is less than full screen? Is this an AutoResizing mask problem? Thanks, Gerry

    Read the article

  • How does UITableViewController knows its dataSource and delegate

    - by denniss
    I am following the BigNerdRanch iOS Programming book and I am on this one chapter that deals with UITableViewController. I have been wondering however where UITableViewController finds out about its delegate and dataSource. Currently I have it as @interface ItemsViewController : UITableViewController <UITableViewDataSource, UITableViewDelegate> But there is nothing that looks like: [self.tableView setDelegate:self] I am just wondering how the UITableViewController finds out about its delegate and dataSource

    Read the article

  • iPad application UITableView delegate methods are not getting called

    - by jAmi
    Hi, I am using the same technique as i populate my UITableView in iphone while writing my iPad application. Tab Bar Controller UINavigationControllerUITableViewController of type myCustomTable(load From NIB) MyCustomTableViewController NIB and class file implements the delegate methods @interface MyCustomTableViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> { NSMutableArray *PDFList; IBOutlet UITableView *PDFTable; } but my delegate methods are not getting called. What do i do?

    Read the article

  • Is it a good programming practice to have a class with several .h files?

    - by Jim Thio
    I suppose the class have several different interfaces. Some it shows to some class, some it shows to other classes. Are there any good reason for that? One thing I can think of is with one .h per class, interface would either be public or private. What about if I want some interface to be available to some friends' class and some interface to be truly public? Sample: @interface listNewController:BadgerStandardViewViewController <UITableViewDelegate,UITableViewDataSource,UITextFieldDelegate,NSFetchedResultsControllerDelegate,UIScrollViewDelegate,UIGestureRecognizerDelegate> { } @property (nonatomic) IBOutlet NSFetchedResultsController *FetchController; @property (nonatomic) IBOutlet UITextField *searchBar1; @property (nonatomic) IBOutlet UITableView *tableViewA; + (listNewController *) singleton; //For Easier Access -(void)collapseAll; -(void)TitleViewClicked:(TitleView *) theTitleView; -(NSUInteger) countOfEachSection:(NSInteger)section; @end Many of those public properties and function are only ever called by just one other classes. I wonder why I need to make them available to many classes. It's in Objective-c by the way

    Read the article

  • UITableViewCell with custom gradient background, with another gradient as highlight color

    - by Rich
    I have a custom UITableViewCell with a custom layout. I wanted a gradient background, so in my UITableViewDelegate cellForRowAtIndexPath: method, I create a CAGradientLayer and add it to the cell's layer with insertSubLayer:atIndex: (using index 0). This works just fine except for two things: Most importantly, I can't figure out how to change to a different gradient color when the row is highlighted. I have tried a couple things, but I'm just not familiar enough with the framework to get it working. Where would be the ideal place to put that code, inside the table delegate or the cell itself? Also, there's a 1px white space in between each cell in the table. I have a background color on the main view, a background color on the table, and a background color on the cell. Is there some kind of padding or spacer by default in a UITableView?

    Read the article

  • UITableView programatically create delegate object?

    - by fuzzygoat
    I have a question regarding setting up a custom delegate class for use with UITableView. What I have done is as follows: Setup a new class (in sperate *.h and *.m files for the class) Conformed that new class to the <UITableViewDelegate, UITableViewDataSource> protocols Added the required methods. Created a pointer to the new object using @property and IBOutlet. In InterfaceBuilder created and assigned an object template to my new class Assigned the dataSource and delegate connections. This all works fine. My question is if I don't want to use interfaceBuilder to setup and instantiate my new delegate class directly in Xcode how do I go about doing that? More specifically how would I: Instantiate the delegate class, would that be created / owned by the controller? Set the dataSource and delegate connections? What is the best way of doing this? any help / information is much appreciated. Gary

    Read the article

  • Scroll bar does not appear in UITableView

    - by user335398
    Hi there, When I create UITableView with UITableViewController, all the right - scroll bar is present on UITableView. But I'd like to place some more controls apart from table on the area, so I have to use UIViewController instead. I create UITableView *tableView as controller's member, and set controller as its delegate conforming to UITableViewDelegate and UITableViewDataSource protocols. All the OK now, except of scroll bars do not appear at all. tableView.showsVerticalScrollIndicator is set to YES. Where might be a problem? Much thanks! WBR, Timur

    Read the article

  • Representing Objective C Protocols on UML class diagrams

    - by joec
    How should i correctly reference protocols on a UML class diagram? For example my ListViewController conforms to the UITableViewDataSource and UITableViewDelegate protocols... where do i put the cellForRowAtIndexPath or numberOfRowsInSection methods? ... in ListViewController where they are implemented or in something like this: <<Protocol>> UITableViewDataSource --------------------- --------------------- -numberOfRowsInSection If i did the latter what would be the association between the ListViewController class and the protocol box be? All i have to show is how i hook into Cocoa Touch some how. Thanks.

    Read the article

  • problem with IBoutlet UITableView connection

    - by ideafactory
    Hi,I'm having a problem with IBoutlet UITableView connection. It seems that the IBOutlet isn't connected to the TaleView. I set the delgate and the datasource to the files owner and set the iboutlet to the tableview in the nib. The tableview is well initialized. I just want to do some reloadData and it's not working. I try to do some deselectRow just to see if it isn't reloadData problem but it doesn't deselect so i assume that the iboutlet isn't associated with my tableview. This table view is in a viewcontroller that is called as a modalViewController. Here is some code: My .h file: @interface AddEditProjectsViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, UIActionSheetDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UITextViewDelegate, UIAlertViewDelegate>{ IBOutlet UITableView *addEditProjectTable; } @property (nonatomic, retain) IBOutlet UITableView *addEditProjectTable; @end My .m file: - (void)viewWillAppear:(BOOL)animated { (...) [addEditProjectTable reloadData]; [super viewWillAppear:animated]; Thanks for any help! :)

    Read the article

  • How do I get toolbars on UISplitView detail & root views?

    - by Gerry
    I'm porting my iPhone app to iPad. I have a bunch of detail views that derive from UIViewController and implement UITableViewDelegate. (Basically TableViews but not derived as such). The old app used TabBar, but now I'd like to use SplitView with toolbars on the Detail and Master views. How do I enable a toolbar on my UIViewController inside a UISplitViewController? I'm not using Interface Builder here, just code. @interface HeadlineViewController : UIViewController { UITableView *tableView; NSMutableArray *bullIds; UIActivityIndicatorView *prog; } Thanks,

    Read the article

1 2 3  | Next Page >