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


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.