I have view controller with tableview when i scroll tableview i want to hide tab bar in view controller. i have tried below code its working but top label went minus position of origin Y
extension UITabBarController {
func setTabBarVisible(visible:Bool, duration: TimeInterval, animated:Bool) {
if (tabBarIsVisible() == visible) { return }
let frame = self.tabBar.frame
let height = frame.size.height
let offsetY = (visible ? -height : height)
// animation
if #available(iOS 10.0, *) {
UIViewPropertyAnimator(duration: duration, curve: .linear) {
self.tabBar.frame.offsetBy(dx:0, …Run Code Online (Sandbox Code Playgroud)
我有像上面这样的设计,我的标签栏位于 BottomNavigationBar 内,我想将标签栏放在我的 BottomNavigationBar 菜单中。问题是,我不想有嵌套的脚手架,我不想使用,TabController因为我的选项卡是动态的,选项卡长度可以根据用户添加它而减少或增加。如果我TabController在内部使用并定义它initState,则选项卡无法增加/减少,因为在 initState 中仅定义一次值。
我怎样才能做到这一点 ?
我的期望与下面的示例类似,当我添加选项卡和 tabMenu 时,它会增加。但出现这个错误
The following assertion was thrown building TabBar(dirty, dependencies: [_InheritedTheme,
_LocalizationsScope-[GlobalKey#a56a4]], state: _TabBarState#fb337):
Controller's length property (2) does not match the number of tabs (3) present in TabBar's tabs
property.
The relevant error-causing widget was:
TabBar
Run Code Online (Sandbox Code Playgroud)
class TaskScreen extends StatefulWidget {
@override
_TaskScreenState createState() => _TaskScreenState();
}
class _TaskScreenState extends State<TaskScreen> with SingleTickerProviderStateMixin {
TabController _tabController;
final List<Tab> _tab = [
Tab(text: …Run Code Online (Sandbox Code Playgroud) 我想在我的视图中以编程方式在我的标签栏上添加按钮...
我有导航控制器,但它不允许我添加这些..我想在我的视图中以编程方式创建...
这已被张贴,但没有答案.
问题:
TabBar - >(2个标签)
Scrollview和一个EddiText录音时EditText,软键盘会TabBar随之上升.
(一个丑陋的解决方案是禁用滚动ScrollView)
任何体面的解决方案?!
每个人我都有问题,我一直在寻找解决方案,但找不到任何问题.我正在开发基于标签栏的应用程序.问题是我想在第一个屏幕上隐藏标签栏,然后在第一个屏幕后显示的所有其他屏幕上显示它.有谁能请给我这个问题的最佳解决方案?
实际情况是我有一个登录屏幕的屏幕.现在我不想在此处显示标签栏,因为只有在用户登录时才会显示标签栏.当用户登录时,我希望显示标签栏以显示其内容.
最好的祝福
使用Facebook的新SSO,登录Facebook意味着我的应用程序暂时关闭.问题是我的应用程序要求规定它不能在后台运行.因此,当我的应用程序重新启动时,它位于原始选项卡/视图控制器上.
我试图让事情回到facebook登录视图.这需要以编程方式选择选项卡并从该选项卡推送到单独的视图控制器.
我可以通过编程方式选择一个选项卡没问题:
[[UIApplication sharedDelegate].tabBarController setSelectedIndex:4];
Run Code Online (Sandbox Code Playgroud)
但是我无法从新选择的选项卡中推送视图控制器.我试过了
AboutViewController *nextViewController = [[AboutViewController alloc] initWithStyle:UITableViewStyleGrouped];
((AboutViewController *)nextViewController).hidesBottomBarWhenPushed = NO;
[[[[[UIApplication sharedDelegate] tabBarController] selectedViewController ] navigationController] pushViewController:nextViewController animated:NO];
[nextViewController release];
Run Code Online (Sandbox Code Playgroud)
和
AboutViewController *nextViewController = [[AboutViewController alloc] initWithStyle:UITableViewStyleGrouped];
((AboutViewController *)nextViewController).hidesBottomBarWhenPushed = NO;
[[[[[UIApplication sharedDelegate] tabBarController] navigationController] pushViewController:nextViewController animated:NO];
[nextViewController release];
Run Code Online (Sandbox Code Playgroud)
甚至可以这样做吗?
iphone tabbar pushviewcontroller single-sign-on facebook-graph-api
如何在收到推送通知时打开特定标签栏?
我已经放在[self.tabBarController setSelectedIndex:2];viewDidAppear上,发生了什么,在数据记录中,它显示它通过tabBar 2 viewController,但它没有打开/显示该页面并保留在firstView控制器/第一个tabBar.
然后在我终止应用程序并打开后,自动/突然打开tabBar 2 viewController.
谁能提出任何想法或示例代码来解决这个问题?
这是在我的didReceiveRemoteNotification中;
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
NSLog(@"Remote notification received");
if([userInfo valueForKey:@"app"]) {
NSString *action_app = [userInfo valueForKey:@"app"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:action_app forKey:@"app"];
NewVC *sample=[[NewVC alloc]init];
[sample viewDidLoad];
//[self.tabBarController setSelectedIndex:2];
[self clearNotifications];
}else{
NSLog(@"---nothing to read---");
}
}
Run Code Online (Sandbox Code Playgroud)
NewVC位于tabbar 2.
我正在尝试以编程方式更改我的应用中的标签栏项目的名称.
在我的故事板中,我将UITabBarController设置为初始视图,层次结构如下:
UITabBarController - > UINavigationController - > UITableViewController - >详细信息视图控制器
要更改条形项的标题,您需要更改条形项的UINavigationController标题.在IB中一切运行良好,但我需要本地化我的应用程序,我动态执行(没有重新启动应用程序),每次启动应用程序时,IB中给出的标题都会设置,标题不会更改为本地化标题,直到我点击条形项目.
在我各自的UITableViewControllers中,我设置了标题,self.title = localized title;并且运行良好.但我想让应用程序在启动时更改条形项目标题,直到我点击它们.
我已经在这里看了关于这个问题的帖子,并尝试了这些建议,但是条形项目的标题总是设置为IB的值.我也在下面尝试了这个代码,但是它只在启动时设置了所选的条形项:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Select the desired tab of our initial tab bar controller:
UITabBarController *tabBar = (UITabBarController *)self.window.rootViewController;
tabBar.selectedIndex = 1;
tabBar.navigationController.title = @"Item 2";
[(UITabBarItem*)[self->tabBarController.tabBar.items objectAtIndex:1] setTitle:@"Item 2"];
// Override point for customization after application launch.
return YES;
}
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序(Xamarin.IOS),它以一个没有TabBar的UIViewController(连接视图)开头.但是当用户登录时,我想将我创建的标签栏添加到其他视图中.反之亦然,当用户退出时,我想显示没有TabBar的连接视图.
我知道当我想在appDelegate中显示TabBar时,我必须像这样初始化_window:
_tabController = new TabController();
_window.RootViewController = _tabController;
_window.MakeKeyAndVisible();
Run Code Online (Sandbox Code Playgroud)
如果我想要一个没有TabBar的视图,这里是appDelegate:
viewController = new ConnectionViewController();
_window.RootViewController = new UINavigationController(viewController);
_window.MakeKeyAndVisible();
Run Code Online (Sandbox Code Playgroud)
使用此TabController:
public class TabController : UITabBarController
{
UIViewController tab1, tab2, tab3, tab4;
public TabController()
{
tab1 = new UINavigationController(new ListViewController());
tab1.Title = Texts.Home;
tab1.TabBarItem.Image = UIImage.FromFile("Icons/Home@2x.png");
tab2 = new UINavigationController(new OViewController(1));
tab2.Title = Texts.Categories;
tab2.TabBarItem.Image = UIImage.FromFile("Icons/Tag@2x.png");
tab3 = new UINavigationController(new SearchViewController());
tab3.Title = Texts.Search;
tab3.TabBarItem.Image = UIImage.FromFile("Icons/Search@2x.png");
tab4 = new UINavigationController(new BookmarkViewController(1));
tab4.Title = Texts.Bookmarks;
tab4.TabBarItem.Image = UIImage.FromFile("Icons/Favorite@2x.png");
var …Run Code Online (Sandbox Code Playgroud) tabbar uiviewcontroller uinavigationcontroller xamarin.ios ios
我正在尝试查看如何在UITabBarController下添加UIView,以便可以向我的应用添加广告,我似乎无法找出将UIView限制在选项卡栏底部的任何方法。这可能吗?
编辑:在选项卡栏的底部,我的意思是在选项卡栏的下方
tabbar ×10
ios ×3
iphone ×3
objective-c ×2
swift ×2
adview ×1
android ×1
button ×1
cocoa-touch ×1
flutter ×1
items ×1
keyboard ×1
swift3 ×1
xamarin.ios ×1
xcode ×1