How to build a context menu like Facebook / Slack on iOS?
up vote
0
down vote
favorite
I was just looking at Context menu of Facebook and or slack and wanted to create something similar in my App.
I have tried two methods.
First method. Having a in View Table View and sliding it from bottom to create as if it is animated on to the view. But the problem with this is that The navigation controller and Tab bar controller are not hidden and a white patch is shown over the Black (Alpha 30 %).
The second method I tried was showing a new View controller over the current view controller and presenting as a Modal presentation
.
let vc = CustomActionTableViewController(nibName: "CustomActionTableViewController", bundle: nil)
vc.modalPresentationStyle = .overFullScreen
self.present(vc, animated: false, completion: nil)
This works okay but the method is too slow as I have to work with lot of Notifications (To send selected index to my main View and then perform action). It is painfully slow.
Could anyone help me with how I can improve the implementation so that I can get the Action sheet similar to Facebook which is smooth and very very fluid
ios swift swift3 contextmenu uiactionsheet
add a comment |
up vote
0
down vote
favorite
I was just looking at Context menu of Facebook and or slack and wanted to create something similar in my App.
I have tried two methods.
First method. Having a in View Table View and sliding it from bottom to create as if it is animated on to the view. But the problem with this is that The navigation controller and Tab bar controller are not hidden and a white patch is shown over the Black (Alpha 30 %).
The second method I tried was showing a new View controller over the current view controller and presenting as a Modal presentation
.
let vc = CustomActionTableViewController(nibName: "CustomActionTableViewController", bundle: nil)
vc.modalPresentationStyle = .overFullScreen
self.present(vc, animated: false, completion: nil)
This works okay but the method is too slow as I have to work with lot of Notifications (To send selected index to my main View and then perform action). It is painfully slow.
Could anyone help me with how I can improve the implementation so that I can get the Action sheet similar to Facebook which is smooth and very very fluid
ios swift swift3 contextmenu uiactionsheet
in your first method why don't you hide navigation and tabbar when tableView appears and unhide it again when didSelect occur or tableView hides ?
– Abu Ul Hassan
yesterday
I think it will be a batter option for you. With less effort and more faster than 2nd one.
– Abu Ul Hassan
yesterday
I thought of it but i need the navigation bar to show up as i am using large tiles. So if i hide it large portion at the top will be hidden and it will look weird.
– Sriteja C
yesterday
why hiding navigation bar is too necessary for you ?
– Abu Ul Hassan
yesterday
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I was just looking at Context menu of Facebook and or slack and wanted to create something similar in my App.
I have tried two methods.
First method. Having a in View Table View and sliding it from bottom to create as if it is animated on to the view. But the problem with this is that The navigation controller and Tab bar controller are not hidden and a white patch is shown over the Black (Alpha 30 %).
The second method I tried was showing a new View controller over the current view controller and presenting as a Modal presentation
.
let vc = CustomActionTableViewController(nibName: "CustomActionTableViewController", bundle: nil)
vc.modalPresentationStyle = .overFullScreen
self.present(vc, animated: false, completion: nil)
This works okay but the method is too slow as I have to work with lot of Notifications (To send selected index to my main View and then perform action). It is painfully slow.
Could anyone help me with how I can improve the implementation so that I can get the Action sheet similar to Facebook which is smooth and very very fluid
ios swift swift3 contextmenu uiactionsheet
I was just looking at Context menu of Facebook and or slack and wanted to create something similar in my App.
I have tried two methods.
First method. Having a in View Table View and sliding it from bottom to create as if it is animated on to the view. But the problem with this is that The navigation controller and Tab bar controller are not hidden and a white patch is shown over the Black (Alpha 30 %).
The second method I tried was showing a new View controller over the current view controller and presenting as a Modal presentation
.
let vc = CustomActionTableViewController(nibName: "CustomActionTableViewController", bundle: nil)
vc.modalPresentationStyle = .overFullScreen
self.present(vc, animated: false, completion: nil)
This works okay but the method is too slow as I have to work with lot of Notifications (To send selected index to my main View and then perform action). It is painfully slow.
Could anyone help me with how I can improve the implementation so that I can get the Action sheet similar to Facebook which is smooth and very very fluid
ios swift swift3 contextmenu uiactionsheet
ios swift swift3 contextmenu uiactionsheet
asked yesterday
Sriteja C
127110
127110
in your first method why don't you hide navigation and tabbar when tableView appears and unhide it again when didSelect occur or tableView hides ?
– Abu Ul Hassan
yesterday
I think it will be a batter option for you. With less effort and more faster than 2nd one.
– Abu Ul Hassan
yesterday
I thought of it but i need the navigation bar to show up as i am using large tiles. So if i hide it large portion at the top will be hidden and it will look weird.
– Sriteja C
yesterday
why hiding navigation bar is too necessary for you ?
– Abu Ul Hassan
yesterday
add a comment |
in your first method why don't you hide navigation and tabbar when tableView appears and unhide it again when didSelect occur or tableView hides ?
– Abu Ul Hassan
yesterday
I think it will be a batter option for you. With less effort and more faster than 2nd one.
– Abu Ul Hassan
yesterday
I thought of it but i need the navigation bar to show up as i am using large tiles. So if i hide it large portion at the top will be hidden and it will look weird.
– Sriteja C
yesterday
why hiding navigation bar is too necessary for you ?
– Abu Ul Hassan
yesterday
in your first method why don't you hide navigation and tabbar when tableView appears and unhide it again when didSelect occur or tableView hides ?
– Abu Ul Hassan
yesterday
in your first method why don't you hide navigation and tabbar when tableView appears and unhide it again when didSelect occur or tableView hides ?
– Abu Ul Hassan
yesterday
I think it will be a batter option for you. With less effort and more faster than 2nd one.
– Abu Ul Hassan
yesterday
I think it will be a batter option for you. With less effort and more faster than 2nd one.
– Abu Ul Hassan
yesterday
I thought of it but i need the navigation bar to show up as i am using large tiles. So if i hide it large portion at the top will be hidden and it will look weird.
– Sriteja C
yesterday
I thought of it but i need the navigation bar to show up as i am using large tiles. So if i hide it large portion at the top will be hidden and it will look weird.
– Sriteja C
yesterday
why hiding navigation bar is too necessary for you ?
– Abu Ul Hassan
yesterday
why hiding navigation bar is too necessary for you ?
– Abu Ul Hassan
yesterday
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53372677%2fhow-to-build-a-context-menu-like-facebook-slack-on-ios%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
in your first method why don't you hide navigation and tabbar when tableView appears and unhide it again when didSelect occur or tableView hides ?
– Abu Ul Hassan
yesterday
I think it will be a batter option for you. With less effort and more faster than 2nd one.
– Abu Ul Hassan
yesterday
I thought of it but i need the navigation bar to show up as i am using large tiles. So if i hide it large portion at the top will be hidden and it will look weird.
– Sriteja C
yesterday
why hiding navigation bar is too necessary for you ?
– Abu Ul Hassan
yesterday