> On 29 Apr 2017, at 11:56, Saagar Jha <saa...@saagarjha.com> wrote:
> 
> 
> Saagar Jha
> 
>> On Apr 28, 2017, at 20:22, Gerriet M. Denkmann <gerri...@icloud.com> wrote:
>> 
>>> 
>>> On 23 Apr 2017, at 14:45, Quincey Morris 
>>> <quinceymor...@rivergatesoftware.com> wrote:
>>> 
>>> On Apr 22, 2017, at 23:55 , Gerriet M. Denkmann <gerri...@icloud.com> wrote:
>>>> 
>>>> But now I want to move the table view down 1 cm (leaving 1 cm unused space 
>>>> at the top of the screen above the table view).
>>>> Reason: top of the table view (which contains a SearchField) is rather 
>>>> hard to reach.
>>>> 
>>>> But I cannot find a way to do this.
>>> 
>>> Since UITableView is a subclass of UIScrollView, you can just set the 
>>> “contentOffset” property to move its contents away from the top of its 
>>> container.
>>> 
>>> If you need to put a different view in the 1 cm of space above the table 
>>> view, then I guess you need to change the structure. Instead of the the 
>>> root view being or containing a table view, it would have two child views, 
>>> or two container subviews with “embed” segues to child view controllers.
>> 
>> I failed using contentOffset.
>> 
>> So I changed the view controller of my scene from UITableViewController to 
>> UIViewController and added a rectangle and a UITableView.
>> 
>> But using UISearchController proved to be impossible. Even in the old set up 
>> (under UITableViewController) there were several bugs which needed 
>> complicated work arounds.
>> Now there were even more (without work arounds). So I gave up on 
>> UISearchController.
> 
> Well, what were the bugs, exactly?

Two bugs I remember:

1. Tapping on top of the screen usually scrolls the table view back to the top.
This did not happen when a filtered list was displayed.

2. Rotating the phone messed up the position of the search field.


> How are you adding the search controller’s searchBar to the table view?

When I used UISearchController I created it in my subclass of 
UITableViewController:

- (void)viewDidLoad 
{
        [super viewDidLoad];
        ResultsTableController *resultsController = [[ResultsTableController 
alloc] init];//UITableViewController       
        resultsController.tableView.delegate = self;                    //      
default = resultsController     
        
        UISearchController *searchCntr = [[UISearchController alloc] 
initWithSearchResultsController: resultsController];
        searchCntr.delegate = self;                                             
                //      UISearchControllerDelegate 
        searchCntr.searchResultsUpdater = self;                                 
//      UISearchResultsUpdating
        searchCntr.dimsBackgroundDuringPresentation = NO;               //      
default is YES
        self.searchController = searchCntr;

        UISearchBar *searchBar = searchCntr.searchBar;
        searchBar.delegate = self;                                              
                //      UISearchBarDelegate 
        searchBar.scopeButtonTitles = @[ @"Starts", @"Contains", @"Content" ];
        self.tableView.tableHeaderView = searchBar;
        
        self.definesPresentationContext = YES;  
}

Gerriet.


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to