我使用以下代码创建一个TabViewwith SwiftUI:
struct TabbedView: View {
@State private var selected = 0
var body: some View {
TabView(selection: $selected) {
View1().tabItem {
Image("Tab1")
}.tag(1)
View2().tabItem {
Image("Tab2")
.offset(y: 20) //<--- has no effect
}.tag(2)
View3().tabItem {
Image("Tab3")
}.tag(3)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我只Image对没有文本的选项卡项使用视图,结果如下:
我需要将Image视图定位(或垂直对齐)到中心,TabView但找不到直接的方法。
是否可以以简单的方式在 SwiftUI 中为 TabView tabItem 添加徽章值?
像这样(这里是普通的 Swift):
import UIKit
class TabBarController: UITabBarController {
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.tabBar.items![2].badgeValue = "7"
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
我想看看是否可以根据选择的选项卡项更改底部 tabview 的颜色。目前,我可以使用 init.d 中的以下代码清除 tabview 栏。
let tabBar = UITabBar.appearance()
init() {
tabBar.barTintColor = UIColor.clear
tabBar.backgroundImage = UIImage()
tabBar.shadowImage = UIImage()
}
...
TabView(selection: $selectedTab) {
FirstView()
.tabItem{
Text("First")
}
SecondView()
.tabItem{
Text("Second")
}
}
.onAppear{
setTabViewBackground()
}
func setTabViewBackground() {
if selectedTab != 0 {
tabBar.barTintColor = UIColor.blue
}
}
Run Code Online (Sandbox Code Playgroud)
试图在身体重绘和 idk 时触发 func,如果它的这种声明式风格得到了我的最好,但根本不改变 tabview 背景。
我解释的事情非常糟糕,我会努力做到最好:)
我试图使用Tabhost并在每个选项卡中显示列表片段.
[tabview中的ListFragments]:
这是它的外观.
单击列表元素后,将调用另一个片段以显示详细信息,如下所示.[在列表元素上单击]:
有两个问题.
当我回到标签视图并单击列表时,它会显示:
"java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread.[in ListView(16908298, class android.widget.ListView) with Adapter(class android.widget.SimpleAdapter)]
"TabView xml:
<TabHost
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="horizontal" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="0" />
<FrameLayout
android:id="@+android:id/realtabcontent"
android:layout_width="fill_parent"
android:layout_height="0dp" …Run Code Online (Sandbox Code Playgroud)我正在使用http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/制作标签栏.
我还有3个选项卡,第二个选项卡视图包含列表视图,第三个选项卡包含设置.
设置包含重新加载按钮.当我点击重新加载按钮时,我想移动到第一个标签.
我怎样才能做到这一点 ?
我现在在tabView中使用confirmDialog时遇到问题.这是我的确认对话
<p:confirmDialog global="true" showEffect="fade" hideEffect="explode">
<h:form>
<p:commandButton value="Yes" type="button"
styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
<p:commandButton value="No" type="button"
styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
</h:form>
</p:confirmDialog>
Run Code Online (Sandbox Code Playgroud)
在第一个tabView中,我有一个确认按钮
<p:commandButton value="Import" icon="ui-icon-arrowrefresh-1-w"
update=":form:growl">
<p:confirm header="Confirmation" message="Are you sure?" />
</p:commandButton>
Run Code Online (Sandbox Code Playgroud)
在第二个tabView中,我有完全按钮.
现在我的问题是:在第一个选项卡中,我的confirmDialog有我想要的全文:标题和消息,但是在第二个选项卡中,标题和消息都变为"null".只有按钮yes和confirmDialog仍然有效.我不知道发生了什么,请帮助我,如何在所有tabView中使confirmdialog显示全部内容
我有一个标签栏控制器,它有两个项目连接到两个视图控制器(比如A和B)现在我想添加一个第三视图控制器(比如说C).但我不想在标签视图中添加第三个图标.当用户选择第二个图标时,它应该呈现B或C,具体取决于用户是否已登录.
我想得到PrimeNG tabView的当前标题.我尝试通过绑定activeIndex属性来做到这一点,但它不起作用.
我正在尝试找到一种方法来删除带有Angular 6应用程序的元素上的选项卡按钮,但到目前为止无济于事。基本上,我只想保留Tab的内容及其滑动功能。
显然,您可以使用特定的android和iOS方法,但是我不确定该怎么做。
<TabView [(ngModel)]="tabSelectedIndex" (selectedIndexChanged)="onSelectedIndexChanged($event)" (loaded)="tabViewLoaded($event)">
<ng-container *ngFor="let article of articles" #tabView>
<StackLayout *tabItem="{title: article.id}">
<StackLayout>
<NewsDetails></NewsDetails>
</StackLayout>
</StackLayout>
</ng-container>
</TabView>
Run Code Online (Sandbox Code Playgroud)
在我的.ts文件中,可以找到对元素的引用,如下所示:
@ViewChild("tabView") tabView: ElementRef;
ngAfterViewInit() {
console.dir(this.tabView.nativeElement);
}
Run Code Online (Sandbox Code Playgroud)
但是我不知道从现在开始该怎么做。有任何想法吗?以前与此有关的所有问题均未奏效。
这是一个示例游乐场链接:https : //play.nativescript.org/?template=play-ng&id=iK9ZTM
我试图实现图像中类似的效果。但是当我尝试这样做时,就会出现此错误。
应用父数据时抛出以下断言:ParentDataWidget 使用不正确。
ParentDataWidget Expanded(flex: 1) 想要将 FlexParentData 类型的 ParentData 应用到 RenderObject,该 RenderObject 已设置为接受不兼容类型 ParentData 的 ParentData。
屏幕变灰。
到目前为止我所做的是:-
GestureDetector(
onTap: () {
Navigator.push(
context, MaterialPageRoute(builder: (context) => Detailedview(id)));
},
child: Container(
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.5), //color of shadow
spreadRadius: 1, //spread radius
blurRadius: 1,
// blurStyle: BlurStyle.normal,
// blur radius
offset: const Offset(0, 0),
),
],
color: Colors.white,
borderRadius: const BorderRadius.all(Radius.circular(15)),
),
margin: const EdgeInsets.symmetric(vertical: 5.0, horizontal: 5),
width: 190.0,
child: Stack(
// mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: …Run Code Online (Sandbox Code Playgroud) tabview ×10
ios ×3
swift ×3
swiftui ×3
android ×2
angular ×1
buttonclick ×1
confirm ×1
dialog ×1
flutter ×1
javascript ×1
list ×1
nativescript ×1
primefaces ×1
primeng ×1
tabitem ×1
uitabbar ×1
xcode ×1