화면 하단에 이온 탭을 배치하는 방법은 무엇입니까?


97

화면 상단에 내 아이콘을 표시하는 간단한 이온 탭을 만들었습니다. 나는 그것을 화면 하단에 배치하기 위해 ionic-footer-bar로 감싸려고 노력했습니다. 그렇게하면 탭이 사라집니다. 원하는 룩을 어떻게 완성해야합니까?

<ion-footer-bar>
    <ion-tabs class="tabs-icon-only tabs-stable">
    ...
    </ion-tabs>
</ion-footer-bar>

답변:


175

Ionic 의 베타 14 ( http://blog.ionic.io/the-final-beta/ ) 이후, 이제 플랫폼 값으로 기본 설정되는 몇 가지 구성 변수가 있습니다. 즉, 플랫폼에 따라 작동하려고 시도합니다. 그들이 구축되어 있습니다. 탭의 경우 iOS의 경우 기본값은 하단에 표시되고 Android는 상단에 표시됩니다.

다음 과 같이 config 함수 내 tabs.position에서 함수를 설정하여 모든 플랫폼의 위치를 ​​쉽게 "하드 세트"할 수 있습니다 $ionicConfigProvider.

MyApp.config(['$ionicConfigProvider', function($ionicConfigProvider) {

    $ionicConfigProvider.tabs.position('bottom'); // other values: top

}]);

여기에서 문서를 확인할 수 있습니다.


1
아니 작동하지 않습니다. 브라우저 탭은 하단,
— Toolkit

3
@Toolkit Android 탭은 Ionic 문서에 따라 기본적으로 상단에 렌더링되어야합니다. Android 가이드 라인은 하단에있는 OS 기본 작업으로 인해 하단 막대 사용을 피하는 것입니다. developer.android.com/design/patterns/pure-android.html
— Daniel Rochetti

@Toolkit 플랫폼 기본 정보를 수정하기 위해 이미 답변을 편집했습니다. 맞춤 설정하려면 위의 코드가 올바른 방법입니다. 그러나 플랫폼 기본값을 변경하지 않는 것이 좋으며 플랫폼 지침을 따르는 경향이 있습니다. =)
— Daniel Rochetti

이 방법 또는 다른 방법을 사용하여 하단 및 상단 탭을 갖는 방법이 있습니까? 바닥 글에 대해 다른 상태를 만들려고했지만 어떤 이유로 브라우저의 네트워크 탭에서 볼 수 있지만 화면에 렌더링되지 않습니다. 이것에 대한 어떤 생각? 감사합니다
— Bill Pope

65

안드로이드 장치가 당신의 열을 위해 화면 하단에있는 ionicFramework 탭을 배치하려면 app.js의 파일을, 그리고 아래 angular.module 코드의 다음 줄을 추가합니다 :

.config(function($ionicConfigProvider) {
    $ionicConfigProvider.tabs.position('bottom');
})

이것이 도움이되기를 바랍니다.


화면 상단과 하단 모두에 탭을 만드는 방법은 무엇입니까?
— Syed Danish Ali

나는 당신이 바닥 위에 탭에 대한 별도의 템플릿을 만들 수 있다고 생각
— 아흐메드 나있다.

어 그래. 알겠습니다. 나는이 이온 계의 초보자입니다.
— Syed Danish Ali

답변으로 표시되어야합니다. 그것의 간단하고 바로 지점으로, 당신은 내 최대 - 투표 ... 있어요
— Mbithy Mbithy

안드로이드 탭을 하단으로 설정하는 동안 코드에 따라 잘 작동하지만 키보드를 누르면 탭과 함께 표시됩니다. 키보드를 누른 상태에서 하단에 안정적으로 설정하는 옵션이 있습니까?
— Suthan M


7

app.js에 배치하면 작동합니다.

.config(function($ionicConfigProvider) {
    $ionicConfigProvider.tabs.position('bottom');
})

Ionic은 플랫폼 구성을 자동으로 고려하여 사용할 전환 스타일 및 탭 아이콘이 상단 또는 하단에 표시되어야하는지 여부 등을 조정합니다.

예를 들어 탭의 경우 iOS의 경우 기본값은 하단에 표시되고 Android는 상단에 표시됩니다.

참고 1 : 플랫폼이 iOS 또는 Android가 아닌 경우 기본적으로 iOS로 설정됩니다.

참고 2 : 데스크톱 브라우저에서 개발하는 경우 iOS 기본 구성이 적용됩니다.


5

app.js 파일에서 $ ionicConfigProvider를 .config 모듈에 삽입하고 $ ionicConfigProvider.tabs.position ( 'bottom')을 추가해야합니다.

.config(function($stateProvider, $urlRouterProvider,$ionicConfigProvider) {

 $ionicConfigProvider.tabs.position('bottom'); //top

  // Ionic uses AngularUI Router which uses the concept of states
  // Learn more here: https://github.com/angular-ui/ui-router
  // Set up the various states which the app can be in.
  // Each state's controller can be found in controllers.js
  $stateProvider

  // setup an abstract state for the tabs directive
    .state('tab', {
    url: '/tab',
    abstract: true,
    templateUrl: 'templates/tabs.html'
  })
.
.
.
  // if none of the above states are matched, use this as the fallback
  $urlRouterProvider.otherwise('/tab/dash');

});

3

Ionic 2에서 화면 하단에 이온 탭을 배치하는 방법

현재 버전 ionic 2.0.0-beta.10.

app.ts에서 :

ionicBootstrap(MyApp, [], {
  tabbarPlacement: "bottom"
});

구성 참조

곧 출시 될 이온 2.0.0-beta.11

app.ts에서 :

ionicBootstrap(MyApp, [], {
  tabsPlacement: "bottom" 
});

구성


2

Ionic 2 및 Ionic 3+ 업데이트 :

탭 표시 줄 위치를 변경하는 방법에는 두 가지가 있습니다.

방법 1 : tabsPlacement속성 사용<ion-tabs>

<ion-tabs  tabsPlacement='bottom' >
    <ion-tab [root]="rootTab" tabTitle="Home"></ion-tab> 
</ion-tabs>

방법 2 : 구성 변경 app.module.ts

@NgModule({
  imports: [
    IonicModule.forRoot(MyApp, {
      tabsPlacement : 'bottom'
    })
  ]
})

문서 보기


세그먼트 구성 요소에 대해 원격으로 유사한 것이 있습니까? CSS를 사용하여 하단에 놓을 수는 있지만 상단에 테두리를 놓으면 점프 할 루프가 너무 많고 다소 엉뚱한 느낌이 들기 때문에 더 쉬운 해결책이 있는지 궁금하지만 아무것도 발견하지 못했습니다. 문서에서. 사실, 세그먼트 문서는 .... 오히려 짧은 ionicframework.com/docs/api/components/segment/Segment
— yogibimbi

Self to self : ion-segment-button.segment-button { border-top-style: solid; border-bottom-width: 0; }트릭을 수행하지만 border-top-width의 경우 요소의 style-attribute에서 명시 적으로 2px로 설정하는 것 외에 다른 방법을 찾지 못했습니다. 다른 것은 항상 그것을 3px로 덮어 씁니다. Chrome에서 요소를 설정하고 스타일 시트에서! important를 설정해도 그 위에는 없습니다.
— yogibimbi

1
myapp.config(['$ionicConfigProvider', function($ionicConfigProvider) {
    $ionicConfigProvider.tabs.position('bottom'); // other values: top
}]);

코드 전용 답변을 피하고 솔루션을 설명하십시오.
— Micho
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.