> On 29 Apr 2017, at 11:56, Saagar Jha <[email protected]> wrote:
>
>
> Saagar Jha
>
>> On Apr 28, 2017, at 20:22, Gerriet M. Denkmann <[email protected]> wrote:
>>
>>>
>>> On 23 Apr 2017, at 14:45, Quincey Morris
>>> <[email protected]> wrote:
>>>
>>> On Apr 22, 2017, at 23:55 , Gerriet M. Denkmann <[email protected]> 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 ([email protected])
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 [email protected]