์ง๊ธ์ Ionic์ด ์์ ์ ๋ ฅ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ด ๋ ๋์ ์ ์์ต๋๋ค. Ionic 1์ ํค๋ณด๋ ์ฒ๋ฆฌ, ์ฝํ ์ธ ์คํฌ๋กค ๋ฑ๊ณผ ๊ด๋ จํ์ฌ ์์ ์ ๋ ฅ์ ๋ํ ๋ฉ์ง ๊ธฐ๋ณธ๊ฐ์ ๊ฐ์ง๊ณ ์์์ต๋๋ค. Ionic 2๋ ์ผ๊ด์ฑ์ ์ ์งํด์ผ ํ๋ฉฐ ๋ ์ค์ํ ๊ฒ์ ๋ชจ๋ ํ๋ซํผ(iOS, Android, Windows)์์ ์ผ๊ด๋๊ฒ ์์ ์ ๋ ฅ์ ๋ํด ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํด์ผ ํฉ๋๋ค.
์ฅ์น์์ ์คํํด์ผ ํ๋ ์ฝ๋ ์์ ๋ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฐธ์กฐ ํ์ธ์ .
[x] 6. ์๋ ์์ , ์๋ ์์ฑ ๋ฐ ์๋ ๋๋ฌธ์ ๋ฐ ์ด๋ค์ ์กฐํฉ์ ๋ํ ์ง์.
[x] 1. ์ ๋ ฅ์ ์ ํํ ๋ ํค๋ณด๋๊ฐ ํ์๋ ํ ์ ํํ ํญ๋ชฉ์ด ๋ณด์ด๋๋ก ์ ์ฒด ์์ ๋ด์ฉ์ ์คํฌ๋กคํด์ผ ํฉ๋๋ค.
_์ด ๋ฌธ์ ๋ ์ฌ๋ผ์ด๋ ๊ตฌ์ฑ ์์์ ์์ ๋๋ ์ ๋ ฅ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค. ๊ทธ๊ฒ์ ์ํํ ๋ณ๋์ ์ผ๊ด์ฑ ๊ฒ์ฌ๊ฐ ๋ ๊ฒ์ ๋๋ค._
์ด๋ค ์ด์จ ๋ฒ์ ? 2.x
ํฐ๋ฏธ๋/cmd ํ๋กฌํํธ์์ ionic info
์คํ: (์๋์ ์ถ๋ ฅ ๋ถ์ฌ๋ฃ๊ธฐ)
์ฝ๋ฅด๋๋ฐ CLI: 6.1.1
Ionic Framework ๋ฒ์ : 2.0.0-beta.4-201604170622
Ionic CLI ๋ฒ์ : 2.0.0-beta.24
Ionic ์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ : 2.0.0-beta.14
์ด์ ์ฒด์ :
๋
ธ๋ ๋ฒ์ : v5.7.0
@dylanvdmerwe ํ๋ฅญํฉ๋๋ค. ํจ๊ป ๋ง๋ค์ด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ๋ค์ ๋ฐ ์ด์ ๋ฒํผ์ ์ฌ์ฉํ์ฌ ์ ๋ ฅ์ ์์๋๋ก ํญํ๋ ๊ฒ๊ณผ ๊ด๋ จํ์ฌ ์ด๊ฒ์ ์๋ํด์ผ ํ์ง๋ง ์ต๊ทผ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒ์ผ ์ ์์ต๋๋ค.
๋ํ ์๋ ์์ฑ ๋ฐ ์๋ ์์ ์ ์ํด ์ด๋ํ๋ฉฐ ์์์ ํน๋ณํ ์ถ๊ฐ๋์ง ์๋ ํ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋ฉ๋๋ค. https://github.com/driftyco/ionic/blob/2.0/ionic/components/input/input-base.ts #L217
์๋ ๋๋ฌธ์ ์ฌ์ฉ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋์ด์ผ ํ๋ค๊ณ ์๊ฐํ์ญ๋๊น?
@adamdbradley
<input>
๊ท์น์ ๋ฐ๋ฅด๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค.์ค์ ์ฅ์น์์ ํ ์คํธํ๊ณ ์์ต๋๋ค.
@adamdbradley ์์ ํญ๋ชฉ์ ์ ๋ฐ์ดํธํ์ต๋๋ค. ๋์ ๋๋ ๊ฒ์ ํ์คํ ์ฌํ ๊ฐ๋ฅํ ๋ฌธ์ ์ ๋๋ค.
Android ๋ฌธ์ #1์์ ์ฐ๋ฆฌ๋ ์ด๋์ ์์ต๋๊น? ๊ทธ๊ฒ ์์ด๋ ๋ด ์ฑ์ ์์ ํ ์๋ง์ผ๋ก ๋ง๋ค๊ณ ์์ต๋๋ค.
Android ๋ฌธ์ #1์ ๋ํ +1 :)
์ด ํธ์ ๋์ด๋ ํญ๋ชฉ์ ์ด๋ค ์์ง์์ด ์์ต๋๊น?
@dylanvdmerwe ๋ค์ ๋ฒ ํ๊ฐ ๋ฆด๋ฆฌ์ค(beta8)๋๋ฉด ์ด์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์ง์คํ ๊ฒ์ ๋๋ค. ๋ถํธ์ ๋๋ ค ์ฃ์กํฉ๋๋ค
Android ๋ฌธ์ #1์ ๋ํ +1 :)
Android ๋ฌธ์ ์ ๋ํ +1:
. ์ ๋ ฅ์ ์ ํํ ๋ ์ ์ฒด ์์ ๋ด์ฉ์ ์คํฌ๋กคํด์ผ ํค๋ณด๋๊ฐ ํ์๋ ํ ์ ํํ ํญ๋ชฉ์ด ํ์๋ฉ๋๋ค.
์ด๊ฒ์ ionic1 ์์ ionic 2 ๋ก ์์ ํ ์ด์ํ๋ ๊ฒ์ ๋ฐฉํดํฉ๋๋ค.
๋ชจ๋ ์ ์ผ ์ข๋ค!
์ด๊ฒ์ ionic1 ์์ ionic 2 ๋ก ์์ ํ ์ด์ํ๋ ๊ฒ์ ๋ฐฉํดํฉ๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
Android ๋ฌธ์ #1์ ๋ํ +1
์ด ๋ฌธ์ ๋ฅผ ์กฐ์ํ ์์ ํด์ฃผ์ธ์! ์ฐ๋ฆฌ๋ ์ด์ ๋ํด ์๋ก์ด ์ฑ์ ์์ํ์ง๋ง ์ด ๋ฒ๊ทธ๊ฐ ๊ฑฐ๋ ์ฐจ๋จ๊ธฐ๊ฐ ๋์ด ionic 1์ผ๋ก ๋์๊ฐ๊ธฐ๋ฅผ ์ํ์ง ์์ต๋๋ค!
@adamdbradley , @jgw96 ํ์ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
์
๋ฐ์ดํธ๋ฅผ ์ฃผ์๊ฒ ์ต๋๊น? ์ด ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ด ์๋ํ์ง ์์ ๋ฐ๋ชจํ๊ธฐ ์ด๋ ต์ต๋๋ค...
๊ฐ์ฌ ํด์!
์ด์ ๋ํ ์
๋ฐ์ดํธ๋ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ion-input
์์๋ ์ด์ ์ ๋ง์ถ ๋ ์คํฌ๋กค๋์ด ๋ณด์ด์ง ์์ต๋๋ค. ์ ์์ ์ธ input
์์๋ก ์ ํํ๋ ค๊ณ ์๋ํ์ง๋ง ๋ชจ๋ ์ข
๋ฅ์ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ฐ์ฌ ํด์!
๋ชจ๋๋ค ์๋ ! ๋๋ ์ฐ๋ฆฌ๊ฐ ์ด์ ๊ฐ์ ๋ฌธ์ ์ ๋ํด ์ด์ฌํ ๋ ธ๋ ฅํ๊ณ ์์์ ํ์ ํ ์ ์์ต๋๋ค. ios๋ android์์ ์ฃผ๋ก ์ด ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ๊ณ์ ๊ฐ์? ์๋๋ฉด ๋ ๋ค์์ ๋ฐ์ํฉ๋๊น?
์๋๋ก์ด๋์์ ๋ฐ์ํ๋ฉฐ ios๋ ํ์คํ์ง ์์ต๋๋ค. ์ง๊ธ์ ์ ๋ ฅ์ ์์ํ๋ฉด UI๊ฐ ์๋ก ์คํฌ๋กค๋์ด ์ ๋ ฅ์ด ํ์๋ฉ๋๋ค. ์ด์์ ์ผ๋ก๋ ์ด์ ์ด ๋ง์ถฐ์ง๊ณ ํค๋ณด๋๊ฐ ํ์ ๋๋ ์ฆ์ ๋ฐ์ํด์ผ ํฉ๋๋ค.
์๋ ํ์ธ์,
๊ธฐ๊ธฐ์ iOS์์ ๋ช ๊ฐ์ง ๋ ๋ง์ ๋ฌธ์ ๊ฐ ํ์๋ฉ๋๋ค(Android์์๋ ํ์ธํ์ง ์์).
Ionic์์ ์ข์ ์์ ์ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๊ธฐ๋ฅผ ๊ธฐ๋ํฉ๋๋ค!
Android์ ํค๋ณด๋ ๋ฐ ์ด์จ ์ ๋ ฅ๊ณผ ๋์ผํ ๋ฌธ์ ์ ๋๋ค. ์์์ด ์๋ ๋ชจ๋ ์ฑ์์ ๋งค์ฐ ์ค์ํ ๋ฌธ์ ์ ๋๋ค!
์ด ์ค์ํ ๋ฌธ์ ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
์ด ๋ฌธ์ ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
์์ผ๋ก์ RC์์ ์ด ๋ถ๋ถ์ ์ดํด๋ณด๊ณ ์ถ์ต๋๋ค.
์ด์ ๋ํ ์ ๋ฐ์ดํธ. iOS์ฉ #5 ์ฌํํ ์ ์์ต๋๋ค. ๋ง์คํฐ์์ ์ ์๋ํฉ๋๋ค. ๋๊ตฐ๊ฐ ํ์ธํ ์ ์์ต๋๊น?
์ง๊ธ #1์๋ณด๊ณ ์์ต๋๋ค.
๋๋ ๊ฐ์ ๋ฌธ์ ์ ์ง๋ฉดํ๊ณ ์์ต๋๋ค. ๊ฐ์ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? .
iOS #1์ ํฐ ํ๋ฉด(iPad)์์ ์ ์๋ํ์ง ์์ต๋๋ค. ์ ๋ ฅ์ ๋งจ ์๋ก ์คํฌ๋กค๋์ง๋ง ํค๋ณด๋์ ๋ ๊ฐ๊น์ด ์์ผ๋ฉด ๊น๋ํฉ๋๋ค.
์๋ ํ์ธ์,
์ฐ๋ฆฌ ์ธก์ ์ฌ๋ฌ ์ฅ์น์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๋ฅผ ์กฐ์ฌํ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ ธ์ต๋๋ค.
๊ธฐ๊ณ์ ์ธ์กฐ ์ธ๊ฐ:
iOS:
๋ช ๊ฐ์ง ๊ฒ์ ํ scroolView.scrollTo๊ฐ scrollTop HTML ์์ฑ์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
์ด ์์ฑ์ ์ด๋ก ์ ์ธ ๊ฐ์ธ scrollHeight - clientHeight์ ์ํด ์ ํ๋ฉ๋๋ค.
scroll-view.js(node_modules/ionic-angular/util/)์ ๋ค์ ์ค์ ์ถ๊ฐํ์ต๋๋ค.
console.log(fromY + ' =>' + y);
console.log('์ต๋ ์ด๋ก ๊ฐ: ' + (this._el.scrollHeight - this._el.clientHeight));
๊ทธ๋ฆฌ๊ณ ๋ฌธ์ ๋ ๋ถ๋ช
ํ ๊ฒ ๊ฐ์ต๋๋ค.
์ด๋ค ์ด์ ๋ก Android์์ ํ๋์ ์ด์ ์ ๋ง์ถ๋ฉด ์๋ก ์คํฌ๋กคํ๊ธฐ ์ ์ ํค๋ณด๋๊ฐ ์์ฑ๋๋ฏ๋ก ์ต๋ ์ด๋ก ๊ฐ์ด ์๋ก ์คํฌ๋กคํ๋ ค๋ ๊ฐ๋ณด๋ค ์ฐ์ํฉ๋๋ค. iOS์์๋ ์ฒ์์๋ ๊ทธ๋ ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์ต๋ ์คํฌ๋กค ์ ๊ฐ์ 1์ ๋๋ค.
๋ค ์ฐจ๋ก ์ผ ;)
@EDumdum ์ด ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ๋ณต์ ํฉ๋๊น? ์ ๋ ฅ์ ํฌ์ปค์ค๊ฐ ์๊ณ ํค๋ณด๋๊ฐ ์ด๋ฏธ ์ผ์ ธ ์๊ณ ๋ค์ ์ ๋ ฅ์ผ๋ก ์ ํํ๋ฉด ๋ค์ ์ ๋ ฅ์ด ํค๋ ์๋๋ก ์คํฌ๋กค๋ฉ๋๋ค. ๋น์ ์ ์ํด ๊ทธ๋ ๊ฒํ์ง ์์ต๋๊น?
ํค๋ณด๋๊ฐ ์ด๋ฏธ ์ด๋ ค ์์ ๋ ํ๋์ ์ด์จ ์ ๋ ฅ์์ ๋ค๋ฅธ ์ด์จ ์ ๋ ฅ์ผ๋ก ์ ํํ ๋ ์ฌ์ ํ ๋ช ๊ฐ์ง ๋ฒ๊ทธ๊ฐ ์์ต๋๋ค(ํ์ด์ง๊ฐ ๋ง์ด ์คํฌ๋กค๋จ).
์๋ ํ์ธ์ @adamdbradley
์๋ ์์ ๋ฅผ ๋ง๋๋ ๋จ๊ณ์ ๋๋ค. ์คํฌ๋ฆฐ์ท์ ์๋ฎฌ๋ ์ดํฐ์์ ๊ฐ์ ธ์จ ๊ฒ์ด์ง๋ง ์ฅ์น์์ ๋์ผํ ๋์์ ์ฌํํฉ๋๋ค. ์์์ ์์์ ์ถ๊ฐํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค(ํ๋์ = ์ด์ ์ด ๋ง์ถฐ์ง ํ๋, ๋นจ๊ฐ์ = ๊ธฐํ ํ๋).
์ฌํ ๋จ๊ณ
์์ ๋ฅผ ๋ง๋๋ ๋จ๊ณ
constructor(config: Config, platform: Platform) {
config.set('scrollAssist', true);
...
}
<ion-header>
<ion-navbar>
<ion-title>Home</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<div class='takePlace'>Bla bla</div>
<form novalidate [formGroup]="form">
<ion-item>
<ion-input type="tel" pattern="[0-9]{3}" formControlName="dummyField"></ion-input>
</ion-item>
<ion-item>
<ion-input formControlName="dummyField2"></ion-input>
</ion-item>
</form>
</ion-content>
import { Component } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
public form: FormGroup;
constructor(private formBuilder: FormBuilder) {
this.form = this.formBuilder.group({
dummyField: ['', [Validators.required, Validators.pattern('[0-9]{3}')]],
dummyField2: ['', [Validators.required, Validators.pattern('[0-9]{3}')]]
});
}
ngOnInit() {
}
}
.takePlace {
height: 300px;
border: 1px solid red;
}
nightly build๋ ์
๋ ฅ ํ๋๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ด๋ํ์ง๋ง ๋ค๋ก ๋ฒํผ์ ๋๋ฅด๊ณ ํค๋ณด๋๊ฐ ์๋๋ก ๋ฏธ๋๋ฌ์ง ๋ ์ผ๋ถ ์์น์์๋ ์
๋ ฅ์ด ์๋ ์์น์ ์์ด์ผ ํ๋ ์์น(์๋ก ์ฌ๋ผ์ด๋)๋ฅผ ์ ์งํฉ๋๋ค.
๋์งธ, ์๋ฎฌ๋ ์ดํฐ์ ์
๋ ฅํ ์ ์์ต๋๋ค. ํ๋ฉด ํค๋ณด๋์ ์
๋ ฅํด์ผ ํ๊ณ emu๊ฐ ์ด๋ฅผ ํ์ํ์ง ์๊ธฐ ๋๋ฌธ์
๋๋ค.
@kodeine
ํผ๋๋ฐฑ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ๋ค์ํ ํ ์คํธ ์๋๋ฆฌ์ค์ ์ด ๋ชจ๋ ๋ฉ๋ชจ๋ฅผ ์ฌ์ฉํ๊ฒ ์ต๋๋ค. ๋ชจ๋๊ฐ ๊ทธ๊ฒ์ ํ ์คํธํ ์ ์๋๋ก ๋๋ ๊ณง ๋ฐค๋ง๋ค ๋ฐ์ผ๋ก ๋๊ฐ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค, ๊ฐ์ฌํฉ๋๋ค!
@adamdbradley
๋ ๋ค๋ฅธ ์๋๋ฆฌ์ค๋ ์
๋ ฅ์ด ์๊ณ ํค๋ณด๋๊ฐ ์ด๋ ค ์๋ ํ์ด์ง์ ์์๊ณ ๋ค๋ก ๋ฒํผ์ ํด๋ฆญํ๊ณ ํญ์ด ํค๋ณด๋ ์๋จ์๋ ์๋ค๋ ๊ฒ์ ์์์ต๋๋ค. ๋ฐ๋ผ์ ํค๋ณด๋ ๋ค์ ํญ์ ์ ์งํด์ผ ํ ์๋ ์์ต๋๋ค.
์ผ๊ฐ์ ๋ ์ ์๋ํฉ๋๋ค!
ํ์ง๋ง ์ต๊ทผ ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก ์ธํด ๋์ ๋ ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค. ์ ๋ ฅ A์ ํฌ์ปค์ค๊ฐ ์๊ณ ์ ๋ ฅ B๋ฅผ ํญํ๋ฉด ํค๋ณด๋๊ฐ ์จ๊ฒจ์ง๊ณ ์ด๋ค ์ ๋ ฅ์๋ ํฌ์ปค์ค๊ฐ ์์ต๋๋ค.
๋ํ ์ ๋ ฅ์ ์ด์ ์ ๋ง์ถ ๋ ์๋ฅผ ๋ค์ด Safari์์ ์ ๋ ฅ์ ์ด์ ์ ๋ง์ถ ๋์ ๊ฐ์ ๋ถ๋๋ฌ์ด ์คํฌ๋กค ์ ๋๋ฉ์ด์ ๋์ ํด๋น ์์น๋ก "์ ํ"ํฉ๋๋ค.
ํธ์ง: ์ด๊ฒ์ WKWebView๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. UIWebView๋ฅผ ํ ์คํธํ์ง ์์์ต๋๋ค.
์
๋ ฅ์ ์ํ "๋ค์" ๋ฒํผ์ด ์ง์๋๋์ง ์ฌ๋ถ์ ์ ๋ง ๊ด์ฌ์ด ์์ต๋๋ค.
์ฌ์ฉ์(์๋๋ก์ด๋, ios๋ ํ์คํ์ง ์์)๊ฐ ์์ ์์
์ ์๋ฃํ๋ ๋์ ๋ค์ ์
๋ ฅ์ผ๋ก ์ด๋ํ๋ค๊ณ ์๊ฐํ์ฌ ์ ์ถ/ํ์ธ ๋ฒํผ์ ๋๋ฅด์ง ์๋ ๊ฒ์ ๋ค์ ์ด๋ ต์ต๋๋ค.
@biesbjerg ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ์ฌํํ๋ ๋ฐฉ๋ฒ์ ์์ธํ ์ค๋ช ํ ์ ์์ต๋๊น? ์์น๋ก ์ ํํ๋ค๊ณ ๋งํ๋ฉด ํค๋๊ฐ ์คํฌ๋กค๋์ด ์ฌ๋ผ์ง๋์? ์ด๋ค ์ ํ์ ์ ๋ ฅ์ ๋๊น? ์ ๋ ฅ์ด ์ฑ ์๋จ์ ์์ต๋๊น, ์๋๋ฉด ํ๋จ์ ๊ฐ๊น์ต๋๊น? ๋ฌธ์ ์ ๋น๋์ค๋ฅผ ์ ๊ณตํ ์ ์์ต๋๊น? ๊ฐ์ฌ ํด์
@adamdbradley ์ด ๋น๋์ค๋ "๋ถ๋๋ฌ์ด ์คํฌ๋กค ๋์ ์์น๋ก ์ด๋"์ ๋ณด์ฌ์ฃผ๊ณ ์
๋ ฅ์ ์ด์ ์ ๋ง์ถ๊ณ ๋ค๋ก ํ๋์จ์ด ๋ฒํผ์ ๋๋ฅด๋ฉด ์ฝํ
์ธ ๋ฅผ ๋ค๋ก ์คํฌ๋กคํ์ง ์๋ ๋ฒ๊ทธ๋ ๋ณด์ฌ์ค๋๋ค.
ํธ์ง: gif ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ๋์์ต๋๋ค.
@adamdbradley ํญ๋ ์ ๋ ฅ์ ์ด์ ์ ๋ง์ถ์ง ์๊ณ ํค๋ณด๋๊ฐ ์ฌ๋ผ์ง๋ ์ ๋ ฅ ์ด์ ๋ฌธ์ ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ Android์ ์์ต๋๋ค. ํฌ์ปค์ค๊ฐ ์์ ๋ ๋ด ์์์ด ๊ฐ์๊ธฐ ์ ํํ๊ณ ์ฒซ ๋ฒ์งธ ํฌ์ปค์ค๊ฐ ์๋ ์ ๋ ฅ์ด ํ๋ฉด์ ํ์๋์ง ์์ต๋๋ค.
์๋ ํ์ธ์ @biesbjerg ์ ๋๋ค ! ์ ๋ ฅ ์คํฌ๋กค๋ง์ ๋ํ ์์ ์ฌํญ์ด ํฌํจ๋ ๋ ๋ค๋ฅธ ์ผ๊ฐ ํ๋ก๊ทธ๋จ์ ์ต๊ทผ์ ๋ฐํํ์ต๋๋ค. ์๋ํด ๋ณด์๊ฒ ์ต๋๊น? ๊ฐ์ฌ ํด์!
@jgw96 ์๋ ํ์ธ์! 2.0.0-rc.3-201611302233์ ํ ์คํธํ์ง๋ง ์๋ฌด ๊ฒ๋ ๋ณ๊ฒฝ๋์ง ์์์ผ๋ฏ๋ก gif ๋ น์์ ์ฌ์ ํ โโ์ ํจํ ๋ฌธ์ ์ ๋๋ค.
@biesbjerg ๋ฅผ ํ ์คํธ
@jgw96 ์ฌ๊ธฐ ์์ต๋๋ค! https://github.com/biesbjerg/6228-ionic-keyboard-issues
๋จ๊ณ:
git clone https://github.com/biesbjerg/6228-ionic-keyboard-issues.git
cd 6228-ionic-keyboard-issues
npm install
mkdir www
( www
๊ฐ ์กด์ฌํด์ผ ํ๋ ์ฝ๋ฅด๋๋ฐ/์ด์ค๋ ๋ฒ๊ทธ ๋๋ฌธ์ ํ์ํ๊ฑฐ๋ ํ๋ฌ๊ทธ์ธ ์ค์น๊ฐ ์คํจํจ)ionic state reset
iOS ๋น๋์ค์ ํ์๋ ๋ฌธ์ ๋ UIWebView์ WKWebView์ ๋ฌธ์ ์ ๋๋ค.
Android ๋ฌธ์ ๋ ๋ด ์ฝํ ์ธ ๊ฐ flexbox๋ฅผ ์ฌ์ฉํ์ฌ ์ธ๋ก๋ก ๊ฐ์ด๋ฐ์ ๋ฐฐ์น๋๋ ๊ฒ๊ณผ ๊ด๋ จ์ด ์์ง๋ง ๊ทธ๋๋ ์ ์์ ์ผ๋ก ์๋ ํด์ผ ํฉ๋๋ค.
์๋ ํ์ธ์ @biesbjerg ์ ๋๋ค ! ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ๋ช ๊ฐ์ง ์ถ๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ด ์ค๋ ์คํฌ๋กค์ ์์ต๋๋ค. ํ ์คํธ ํ ๋ฐ๊ฒฌํ ๋ด์ฉ์ผ๋ก ์ด ๊ฒ์๋ฌผ์ ์ ๋ฐ์ดํธํ๊ฒ ์ต๋๋ค.
์๋ ํ์ธ์ @jgw96์ ๋๋ค! ๋ฉ์๋! :-)
Touching an area that is not an input dismisses the keyboard.
์ด ๋ถ๋ถ(์, ๋ค๋ฅธ ๋ถ๋ถ) ์์ ์ฒดํฌ ํ์๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ด ๋ค์ ๋ฆด๋ฆฌ์ค์ ์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๊น? ์ด๊ฒ์ ํค๋ณด๋ ์๋จ์ <ion-footer>
์ ๋ณด๋ด๊ธฐ ๋ฒํผ์ด ์๋ ์ฑํ
์์ฉ ํ๋ก๊ทธ๋จ์ ์ ํฉํฉ๋๋ค! ๊ทธ๋ฐ ๋ค์ ๋ณด๋ด๊ธฐ ๋ฒํผ์ ํด๋ฆญํ ํ ํค๋ณด๋๊ฐ ํญ์ ๋ซํ์ง ์์ต๋๋ค.
์๋
ํ์ธ์ ์ฌ๋ฌ๋ถ. ๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ ๋ฌด์ธ๊ฐ๋ฅผ ๊ด์ฐฐํฉ๋๋ค.
์
๋ ฅ์ด ์ ํ๋์ง ์์ ๊ฒฝ์ฐ ์ด ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ์ ํํ ๋, ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๊ฐ์ง๊ณ ์์ต๋๋ค
๊ฒฐ๊ณผ์ ์ผ๋ก ๋๋ !important๋ก ๊ทธ ๋์ ๋จ๊ณ๋ฅผ ๋ฐ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์์ ์๋ฃจ์ ์ผ๋ก ์๋ํฉ๋๋ค.
๊ทธ๋์.. position:relative ๋ฅผ ์ฌ์ฉํ๋ ๋ฌด์ธ๊ฐ๊ฐ ์์ ๋ ์ํฉ์ด ์ ๋ง ์๋ง์ด ๋ฉ๋๋ค
์ด ์์์ ๋ก๊ณ ๋ ์๋ ์์น์ ์์์ด๋ฉฐ ์ฒซ ๋ฒ์งธ ์
๋ ฅ์ ๋๋ฅด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ ๋ฒ์งธ ์
๋ ฅ์ ๋๋ฅด๋ฉด ๋ก๊ณ ๋ ํธ์๋ฉ๋๋ค.
@jgw96 ์ด ๋ฌธ์ ์
์ ์ญ์ ์ด ๋ฌธ์ ์ ๋ํ ์์์ด ์๊ธฐ๋ฅผ ์ง์ฌ์ผ๋ก ๋ฐ๋ผ๊ณ ์์ต๋๋ค. ์ ๊ณ ๊ฐ์ ๋ง์ ์๋ฐ์ ๋ฐ๊ณ ์์ต๋๋ค ๐
์ข์ ์์์ ์ ๋ ฅ์ด ์ต์ nightlies์์ ํจ์ฌ ๋ ์ ์๋ํ๋ค๋ ๊ฒ์ ๋๋ค. ์ด ๋ฌธ์ ์ ์๋ ๋ก๊ฑฐ์ธ ์ ๋ฅผ ํฌํจํ์ฌ ๋ง์ ์ฌ๋๋ค์ด ์์ ์ฌํญ์ ๋ง์กฑํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
@yannbf , ๊ณต์ ํ๊ฒ
๋๋ ๊ทธ๊ฒ์ ์ดํดํ๊ณ ๊ทธ๊ฒ์ด ์ ๋ง๋ก ํฉ๋ฆฌ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋๋ ๋จ์ง ๊ทธ๊ฒ์ ์ ๋ฌํ๊ธฐ ์ํด ์ ๋ฐ์ดํธ๊ฐ ์๊ธฐ๋ฅผ ๋ฐ๋๋ค. ์ ๋ ionic ํ์ด ํ ์ผ์ ๋ํด ๋งค์ฐ ๊ฐ์ฌํฉ๋๋ค.
์ด์จ๋ , ์ด๋ป๊ฒ ๊ทธ nightly๋ก ํ์ฌ ์ฑ์ ํ ์คํธํ ์ ์์ต๋๊น?
@yannbf npm install ionic-angular<strong i="6">@nightly</strong> --save
package.json์ angular 2.2.1๋ก ์
๋ฐ์ดํธํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค.
์ผ๊ฐ์ ํจ์ฌ ๋ ์ ์๋ํฉ๋๋ค! ๊ณ ๋ง์ ์๋ค์
๋ชจ๋๋ค ์๋ ! Ionic์ ์ฌ์ฉํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! @biesbjerg ๋ฐ @yannbf์ ๋ํฌ๋ค๋ก ์ ๋ฐ์ดํธ ์ค๋ RC4 ๋ฐํ์๊ธฐ ๋ฐ๋๋๋ค ํ ์คํธ? ํด๋น ๋ฆด๋ฆฌ์ค์๋ ์ ๋ ฅ ์คํฌ๋กค๋ง ์์ ์ฌํญ์ด ๋ง์ด ํฌํจ๋์ด ์์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ฐ์ฌ ํด์!
@jgw96 ๋ค, ์ด๋ฏธ ํ์ต๋๋ค. ํจ์ฌ ๋ซ์ต๋๋ค! ์ต์ข ๋ฐ๋งค๊ฐ ๊ฑฑ์ ๋๋ค ๐
@jgw96 ์
๋ฐ์ดํธ ํ ์ํฉ์ด position:absolute
๋๋ position:fixed
๊ฐ ์๋ ์์๋ ์ฌ์ ํ ์ํฅ์ ๋ฐ์ต๋๋ค. ์ด์ ์ ์ธ์๋ฅผ ๋ณด๋ธ ๋ก๊ณ ๊ฐ ์๋ ํ์ด์ง์์ ์ด๋ํ ์ ์์์ง๋ง(๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ผ๋ก ์ ๋ ์์น ์ ๊ฑฐ) ๋ค์ ํ์ด์ง์์์ ๊ฐ์ด ํ์ด์ง ํ๋จ์ "๊ณ์ฝ ์กฐ๊ฑด"์ด ์์ด์ผ ํ๋ฏ๋ก ์ฌ์ ํ ๋ฌธ์ ์ ์ง๋ฉดํ๊ณ ์์ต๋๋ค. :
์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
<div class="agreement-text">
<p>paragraph's content..</p>
</div>
๊ทธ๋ฆฌ๊ณ CSS:
.agreement-text {
position: fixed;
padding: 10px;
margin-top: 40px;
bottom: 0;
text-align: center;
left: 0;
right: 0;
margin: 0 auto;
a {
color: rgb(250, 231, 124);
}
}
์ ๊ฒฝ์ฐ์๋ RC5๋ก ์ ๋ฐ์ดํธํ ํ์๋ Android์์ ์ ํ ์ ๋ ฅ ๋ฌธ์ ๊ฐ ๋จ์ ์์ต๋๋ค. ๋ฐฉ๊ธ ๋น ํ ํ๋ฆฟ์ผ๋ก ์ ํ๋ก์ ํธ๋ฅผ ์์ํ๊ณ ๋ฌธ์์ ์ด์จ ์ ๋ ฅ ๊ตฌ์ฑ ์์๋ฅผ ์๋ ๋์์ธ ์ด์จ ํจ๋์ผ๋ก ๋ณต์ฌํ์ต๋๋ค.
๋ณด์๋ค์ํผ ์ฒซ ๋ฒ์งธ ๊ตฌ์ฑ ์์๋ฅผ ์ ์ธํ ๋ชจ๋ ๊ตฌ์ฑ ์์๊ฐ ์ ํํฉ๋๋ค.
๋ ์ฝ๋์ ๊ฒฝ์ฐ ionic info
๋ช
๋ น์ ์ถ๋ ฅ์
๋๋ค.
์ฝ๋ฅด๋๋ฐ CLI: 6.4.0
Ionic ํ๋ ์์ํฌ ๋ฒ์ : 2.0.0-rc.5
Ionic CLI ๋ฒ์ : 2.2.1
Ionic ์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ : 2.2.0
Ionic ์ฑ ์คํฌ๋ฆฝํธ ๋ฒ์ : 1.0.0
ios-deploy ๋ฒ์ : ์ค์น๋์ง ์์
ios-sim ๋ฒ์ : ์ค์น๋์ง ์์
์ด์ ์ฒด์ : ์๋์ฐ 10
๋
ธ๋ ๋ฒ์ : v6.9.2
Xcode ๋ฒ์ : ์ค์น๋์ง ์์
@almr193 ๊ทธ ๋์์ด ์ ํํด ๋ณด์ ๋๋ค. ํค๋ณด๋๊ฐ ๋ชจ๋ฐ์ผ ์ฅ์น์์ ํ์๋ ๋ ํ๋ฉด์ด ์คํฌ๋กค๋ฉ๋๋ค. ์คํฌ๋กคํ๋ฉด ๊ฐ์กฐ ํ์๋ ์ ๋ ฅ์ด ํญ์ ํ์๋๊ณ ํ๋ฉด ํค๋ณด๋์ ๊ฐ๋ ค์ง์ง ์์ต๋๋ค.
@dylanvdmerwe ๋น ๋ฅธ ๋ต๋ณ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ ๊ฐ ์ ์ํ ์๋๋ฆฌ์ค๊ฐ ์ ํํด ๋ณด์ด๋ฉฐ ํค๋ณด๋๊ฐ ํ๋ฉด์ ํ์๋ ๋ ํ๋ฉด์ด ์คํฌ๋กค๋๋ค๋ ์ ์ ์ดํดํฉ๋๋ค. ๊ทธ๋ฌ๋ ํญ๋ชฉ ์ฌ์ ๋ ฌ์ด ํ์ฑํ๋ ion-list
๋ด ion-input
๊ฐ ์๋ ๋ ๋ค๋ฅธ ์ด์ํ ์๋๋ฆฌ์ค๊ฐ ์์ต๋๋ค. ์
๋ ฅ์ด ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์ฌ์ฉ์๊ฐ ๋ฌด์์ ์ฐ๊ณ ์๋์ง ๋ณผ ์ ์์ต๋๋ค.
@almr193 ์, ๋ถํํ๋ ์ด๊ฒ์ ์ฌ์ ํ โโํด๊ฒฐ๋์ง ์์ ๋ฌธ์ ์
๋๋ค.
์์ ์ด๊ธฐ ๊ฒ์๋ฌผ์ Android ํญ๋ชฉ 1)๊ณผ 4)๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
+1 ์์ง ํด๊ฒฐ๋์ง ์์์ต๋๋ค. ionic-native์์ Keyboard์ ๋ชจ๋ ๋ฐฉ๋ฒ์ Android์์ ๋์์ด๋์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ฌ๋ผ์ด๋ + ์ ๋ ฅ์ ์ฌ์ฉํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์คํฌ๋กค์ ์ํํ์ง ์์์ผ๋ก์จ ๋งค์ฐ ์ด์ํ ๋์์ ๋ณด์ฌ์ค๋๋ค.
+1
์ฝ๋ฅด๋๋ฐ CLI: 6.4.0
Ionic ํ๋ ์์ํฌ ๋ฒ์ : 2.0.0
Ionic CLI ๋ฒ์ : 2.1.18
Ionic ์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ : 2.1.9
Ionic ์ฑ ์คํฌ๋ฆฝํธ ๋ฒ์ : 1.0.0
ios-deploy ๋ฒ์ : ์ค์น๋์ง ์์
ios-sim ๋ฒ์ : 5.0.13
OS: macOS ์์๋ผ
๋
ธ๋ ๋ฒ์ : v6.9.4
Xcode ๋ฒ์ : Xcode 8.2.1 ๋น๋ ๋ฒ์ 8C1002
+1
์ด๊ฒ์ ์ฌ์ ํ โโ์ต์ ์ ๊ฐ์ฅ ํฐ ์ฝ๋ฅด๋๋ฐ ๋ฐ ์ด์จ์ ๋ฌธ์ ์ ๋๋ค.
ํด๊ฒฐ์ฑ ์ด๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
-- ์ ๋ฐ์ดํธ๋จ --
์ ๋ ฅ์ ์์ํ๋ฉด ์ ๋ ฅ์ด ๋ณด๊ธฐ๋ก ์คํฌ๋กค๋์ง๋ง ํค๋ณด๋๊ฐ ์ฒ์ ํ์๋ ๋ ์ ๋ ฅ์ ํค๋ณด๋์ ์ํด ๊ฐ๋ ค์ง๋๋ค.
--
Your system information:
Cordova CLI: 6.5.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
ios-deploy version: 1.9.1
ios-sim version: 5.0.13
OS: OS X El Capitan
Node Version: v6.1.0
Xcode version: Xcode 8.2.1 Build version 8C1002
์ด๊ธฐํ๋ฉด
Domain ์ ๋ ฅ ์์ ์ ํ ํ ํ๋ฉด
์น์ ํ๋ ionic ํ ( @manucorporat , @brandyscarney , @adamdbradley )
๋ค์ ๋ฒ์ ์์ ์ด์ฌํ ๋
ธ๋ ฅํ๊ณ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ์ด๋ฌํ ํค๋ณด๋ ๋ฌธ์ ๋ ์ฑ ๊ฒฝํ์ ์ค์ํฉ๋๋ค. ๊ฐ์ ์คํฌ๋กค๊ณผ ๊ฐ์ ๋ค๋ฅธ ์ค๋ ๋ฌธ์ ์ ํจ๊ป ๋์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค.
๊ฑฐ๋ํ ์ฑ ํฌ๊ธฐ์ ๋๋ฆฐ ์์์ ์ง์ฆ๋์ง๋ง ์ฑ์ด ์ค์น๋๊ณ ์คํ๋ ๋ ํค๋ณด๋ ์ฒ๋ฆฌ์ ๊ฐ์ ๊ธฐ๋ณธ ์ฌํญ์ ๋ํ ์ ์ ํ ๊ฒฝํ์ ์ ๊ณตํด์ผ ํฉ๋๋ค.
์ฌ๊ธฐ์์ ์ฐจ์ํด์ผ ํฉ๋๋ค. @mpaland ๊ฐ ๋ง์ต๋๋ค. ์ฑ์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ๊ณผ ๊ด๋ จ๋ ๋์ ๋๋ ๋ฒ๊ทธ๊ฐ ๋๋ฌด ๋ง์ต๋๋ค(์ผ๋ถ๋ 4๊ฐ์์ด ์ง๋ฌ์ง๋ง ์ฌ์ ํ ๋ต์ฅ ์์ด ์ด๋ ค ์์ต๋๋ค!). ์๋ฅผ ๋ค์ด ์ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
์ด๊ฒ๋ค์ ๊ฒ๋ณด๊ธฐ์ ์ฉ์ ์ฑ๋ก ๋จ๊ฒจ์ง ๋ฐ๋ฉด ํ์ ์ต๊ทผ ๋ถํ ์ฐฝ๊ณผ ๊ฐ์ ๋ฉ์ง ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
๋ฌธ์ ๋ ํต์ฌ ๊ธฐ๋ฅ์ด ์ฌ์ ํ ์ด๋ค ๋ช ๋ฐฑํ ๋ฐฉ์์ผ๋ก ์์๋์ด ์์ผ๋ฉด ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๊ฒ์ด ์ค์ ๋ก ์๋ฏธ๊ฐ ์๋ค๋ ๊ฒ์ ๋๋ค. ํ๋ ์์ํฌ์ ์ถ๊ฐํ๊ธฐ ์ ์ ๊ธฐ๋ณธ ์ฌํญ์ ๋ฐ๋ก ์ก๋ ๊ฒ์ด ๋ ์ค์ํฉ๋๋ค.
๋ชจ๋ ๋ ธ๋ ฅ์ ์ฌ๋ํ์ง๋ง ์ฐ์ ์์๊ฐ ์๋ชป๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ฌ๋ฌ๋ถ, ์ฐ์ ์์๋ฅผ ์ง์ ํ๊ณ ์์ ํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ Ionic ํ์ด ๋ฌธ์ ๋ฅผ ํ ์คํธํ๊ณ ์ฐพ์ ์ ์๋๋ก _์ฌํ ๊ฐ๋ฅํ ์ฝ๋_๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. ์คํฌ๋ฆฐ์ท๊ณผ gif๋ ํ๋ฅญํ์ง๋ง ๋ฌธ์ ๋ฅผ ํ์ธํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ฝ๋๊ฐ ๊ฐ์ฅ ์ข์ต๋๋ค. #2์ผํธ
์์ ๋ฐ ์
๋ ฅ์ ๊ฒฝ์ฐ display: absolute
๋ฅผ ์ฌ์ฉํ์ฌ ์์น๋ฅผ ์ง์ ํ์ง ๋ง์ญ์์ค.
๋๋ ๋ํ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์์ต๋๋ค. ์ด๊ฒ์ ์ฌ์ํ ๋ฌธ์ ๊ฐ ์๋๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ด ๋ณด์ด๋ ๋ฌธ์ ๊ฐ 1๋ ๋์ ์ด๋ป๊ฒ ๋์์ต๋๊น?
์
๋ ฅ ํ๋์ ํฌ์ปค์ค๊ฐ ์์ ๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํ๋๋ฅผ ํด๋ฆญํ ๋๋ง๋ค ํ๋ฉด์ด ์์๋๋ก ์ด๋ํฉ๋๋ค. ๋๊ตฐ๊ฐ ๋๋ฅผ ๋์์ค ์ ์์ต๋๊น?
Ionic ํ๋ ์์ํฌ ๋ฒ์ : 2.3.0
Ionic CLI ๋ฒ์ : 2.2.2
Ionic ์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ : 2.2.1
Ionic ์ฑ ์คํฌ๋ฆฝํธ ๋ฒ์ : 1.1.4
iOS ๋ฐฐํฌ ๋ฒ์ : 1.9.1
ios-sim ๋ฒ์ : 5.0.4
OS: macOS ์์๋ผ
๋ ธ๋ ๋ฒ์ : v7.2.0
Xcode ๋ฒ์ : Xcode 8.2.1 ๋น๋ ๋ฒ์ 8C1002
@pedrodurek ionic์ ์ฌ๋๋ค์ด ๋ฒ์ํ ์ ์๋๋ก ํ๋ฐ์ปค๋ฅผ ์ ๊ณตํ๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
ํ ์คํธ ์ ํ ๋ฌธ์ ์ ๋ํ ์์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค. ์ด๊ฒ์ ์์ ์ด ์๋๋ผ ๋ณธ์ง์ ์ผ๋ก ๋ ๋์ ์์ ์ด ๊ตฌํ๋ ๋๊น์ง ํดํน์ ๋๋ค.
๋จผ์ ๋ค์์ด ์ค์ ๋์ด ์๋์ง ํ์ธํฉ๋๋ค.
this.keyboard.disableScroll(false);
this.keyboard.hideKeyboardAccessoryBar(true);
๋ค์์ผ๋ก app.module.ts์์ ๋ค์์ ์ฐพ์ผ์ญ์์ค.
IonicModule.forRoot(YourApp)
๋ค์๊ณผ ๊ฐ์ด ๋ง๋์ญ์์ค.
IonicModule.forRoot(YourApp, {
scrollAssist: false,
autoFocusAssist: false
}),
์ด๊ฒ์ ๋ด๊ฐ ๊ฐ์ง ๋ชจ๋ ์ ํ ๋ฌธ์ ๋ฅผ ์์ ํ์ง๋ง ๋ถํํ๋ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ ํ๋ฉด์์ ํ์ ๋ชจ์์ ๋ฐ์ด๋ด๋ ํจ๊ณผ๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ ๋ด๊ฐ ์์์ฐจ๋ฆฐ ์ ์ผํ ๋์ ๋ถ์์ฉ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
@Tyler-Darby ์๋ฃจ์ ์ ๊ณต์ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ต์์ ์๋ฃจ์ ์ ์๋์ง๋ง ํฉ๋ฆฌ์ ์ธ ์๋ฃจ์ ์ด๋ฉฐ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
๋๋์ด ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์์๊ณ ๊ทธ๊ฒ์ด ๋๋ฅผ ๋ฏธ์น๊ฒ ๋ง๋ค์์ง ๋ง ๋ง์นจ๋ด ํ๋์จ์ด ๊ฐ์์ ๊ฐ์ ํ๊ธฐ ์ํด ์์์ transform: translate3d(0,0,0)
๋ฅผ ์ ์ฉํ์ฌ ๋ฐ์ํ๋ค๋ ๊ฒ์ ์์ ๋์ต๋๋ค. ํค๋ณด๋๊ฐ ์ฌ ๋ ์
๋ ฅ ํฌ์ปค์ค๋ฅผ ๊นจ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
๊ทธ๊ฒ์ด ๋ชจ๋ ์ฌ๋์ ๋ฌธ์ ์ ์์ธ์ ์๋์ง๋ง ๋๊ตฐ๊ฐ๋ฅผ ๋์ธ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋๋ ์ฌ๋ฌ ํ๋ซํผ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ๋๋ ๊ทธ๊ฒ์ ๊ณ ์ณค์ต๋๋ค ..
๋๋ app.component.ts์ ๋ฃ์๋ค:
constructor(
...
public config: Config,
) {
// all platforms
this.config.set( 'scrollPadding', false )
this.config.set( 'scrollAssist', false )
this.config.set( 'autoFocusAssist', false )
// android
this.config.set( 'android', 'scrollAssist', true )
this.config.set( 'android', 'autoFocusAssist', 'delay' )
...
์๋ง๋ ๋๊ตฐ๊ฐ์๊ฒ ๋์์ด ๋ ๊ฒ์
๋๋ค.
ํํธ๋ฅผ ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค ;)
๋น๋์ค ํ์ธ:
https://www.dropbox.com/s/6p49z0chle9g1b9/git-ios-input.mov?dl=0
ํ๊ฒฝ ์ ๋ณด:
๊ธ๋ก๋ฒ ํจํค์ง:
@ionic/cli-utils : 1.3.0
Cordova CLI : 7.0.1
Ionic CLI : 3.3.0
๋ก์ปฌ ํจํค์ง:
@ionic/app-scripts : 1.3.7
@ionic/cli-plugin-cordova : 1.3.0
@ionic/cli-plugin-ionic-angular : 1.3.0
Cordova Platforms : ios 4.4.0
Ionic Framework : ionic-angular 3.3.0
์ฒด๊ณ:
Node : v7.10.0
OS : macOS Sierra
Xcode : Xcode 8.3.2 Build version 8E2002
ios-deploy : 1.9.0
ios-sim : 5.0.8
<input/>
๋ฅผ <ion-input></ion-input>
๊ทธ๊ฒ์ผ๋ก ์๋ํ์ญ์์ค.
์๋ ํ์ธ์ @maulikakapure ์ ๋๋ค .
ํ์ฌ๋ฅผ ์ํ ์ฒซ ๋ฒ์งธ ์ด์จ ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ํ๊ณ ์์ผ๋ฉฐ ํค๋ณด๋์ ์คํฌ๋กค/์ด์ ๋ฌธ์ ๋ ์์ต๋๋ค. ๋ถ๋ช ํ ๋น์ ์ ๋น๋์ค์์ ๋ณด์ฌ์ค ํด๊ฒฐ์ฑ ์ ์ฐพ์์ต๋๋ค. ์์ค ์ฝ๋๋ฅผ ์ ๊ณตํ ์ ์์ต๋๊น? ์ฌ์ฉํ ํด๊ฒฐ ๋ฐฉ๋ฒ, ๊ตฌ์ฑ ๋งค๊ฐ๋ณ์ ๋ฐ html ํ๊ทธ์ ์ฌ๋ฐ๋ฅธ ์กฐํฉ์ ์์ง ์ฐพ์ง ๋ชปํ์ต๋๋ค.
๊ฐ์ฌ ํด์
@Tyler-Darby Hey Tyler๋, ๋ค์ ์ฝ๋๋ ์ด๋์ ๋ฃ์ด์ผ ํ๋์?
this.keyboard.disableScroll(false);
this.keyboard.hideKeyboardAccessoryBar(true);
์๋ ํ์ธ์ @cwiejack
์ฌ๊ธฐ์์ ๊ฐ๋จํ ๋ฐ๋ชจ๋ฅผ ํ์ธํ์ธ์: https://www.dropbox.com/s/1o9hrnjgt7u3bpy/BasicDemo.zip?dl=0
๊ฐ์ฌ ํด์.
Ionic์ ๊ธฐ๋ณธ ํค์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด app.module.ts์ ๊ฐ์ ธ์ค๊ธฐ์ ๋ค์์ ์ ๋ ฅํ์ธ์.
IonicModule.forRoot(MyApp, {
scrollAssist: false,
autoFocusAssist: false
})
๊ทธ๋ฌ๋ฉด ํค๋ณด๋ ๋ฌธ์ ๊ฐ ์ฆ์ ํด๊ฒฐ๋ฉ๋๋ค.
@aplimovil ์ด๊ฒ์ ๋ด ์๋๋ก์ด๋ ์ฑ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค! ๋น์ ์๊ฒ ๋ง์ ๊ฑด๋ฐฐ!
scrollAssist
๋ฐ autoFocusAssist
๋ฅผ true
ํ๋ฉด ์ฑ์ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค๋ฉด ๋ฌด์จ ์๋ฏธ๊ฐ ์์ต๋๊น?
ํ์ฑํํ๋ฉด ๋ช ๊ฐ์ง ์ด์ ์ด ์๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๊น?
aplimovil์ ์์ ์ ๋ด๊ฐ ๊ฒช๊ณ ์๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ฒ ๊ฐ์ต๋๋ค!
์, ์ ๋น์ ์ด ๊ทธ ์ค ํ๋๋ฅผ ์ฌ์ค๋ก ์ค์ ํ๋์ง์ ๊ด์ฌ์ด ์์ต๋๋ค.
@JefferE Ionic์ scrollAssist ๋ฐ autoFocusAssist ๊ธฐ๋ฅ์ด iOS์์ ๊ณ ์ฅ๋ฌ๊ธฐ ๋๋ฌธ์ ๋๋ค(Android์์๋ ๊ฑฐ์ ์ ์์ ์ผ๋ก ์๋ํ์ง๋ง ์ ์ด๋ ์ ์๊ฒ๋ ๊ฐ์ ์ฌํญ์ด ๊ฑฐ์ ๋์ ๋์ง ์์ต๋๋ค). ์ฌ๊ธฐ์ ๋ชจ๋ ๋ฌธ์ ๋ณด๊ณ ์๋ฅผ ์ถฉ๋ถํ ๊ธฐ๋กํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ถ์ ์์ ์ ๋๋ค. ๋ฐ๋ผ๊ฑด๋ ๊ทธ๋ค์ด ์ธ์ ๊ฐ ์ด ์ค๋ ๋๋ฅผ ์์์ฐจ๋ฆฌ๊ณ iOS์์ ํด๋น ๊ธฐ๋ฅ์ ์์ํ ์์ ํ๊ฑฐ๋ ํ์ฌ iOS์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ์ ์ผ๋ก ํด์ ํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
grid,keyboard.disablescroll(false)์ ion-textarea๊ฐ ์๋ํ์ง ์์ ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ
์ด๊ฒ์ ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค.
imports: [
BrowserModule,
IonicModule.forRoot(MyApp, {
scrollPadding: false,
scrollAssist: true,
autoFocusAssist: false
}),
์ด์จ ์ ๋ณด:
CLI Packages:
@ionic/cli-utils : 1.10.2
ionic (Ionic CLI) : 3.10.3
global packages:
Cordova CLI : 7.0.1
local packages:
@ionic/app-scripts : 2.1.4
Cordova Platforms : android 6.2.3
Ionic Framework : ionic-angular 3.6.1
System:
Android SDK Tools : 25.2.5
ios-deploy : 1.9.1
ios-sim : 5.0.8
Node : v6.11.3
npm : 3.10.10
OS : macOS Sierra
Xcode : Xcode 8.3.3 Build version 8E3004b
iOS ์์ ํค๋ณด๋๊ฐ ์ ๋ ฅ ํ๋ ์๋ก ์คํฌ๋กค๋๊ณ ์ฝํ ์ธ ํ๋ฉด์ด ํค๋ณด๋๋ฅผ ์ํ ๊ณต๊ฐ์ ๋ง๋ค๊ธฐ ์ํด ์ ๋ฐ์ดํธ๋์ง ์๋๋ค๋ ๋น์ทํ ๋ฌธ์ ๊ฐ ์๋ค๋ ๊ฒ์ ์๋ ค๋๋ฆฌ๊ณ ์ถ์์ต๋๋ค.
๋ด๊ฐ ์์๋ธ ์ค์ํ ๋ถ๋ถ์ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ ๋(์: @ionic-native/keyboard)
ํค๋ณด๋๊ฐ this.keyboard.onKeyboardShow().subscribe(()=>{ this.someFlag=true})
ํ์๋๋ ์๊ฐ ์ธํฐํ์ด์ค์ ์์
์ ์ํํ๊ณ ์ธํฐํ์ด์ค์ ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌด์ธ๊ฐ๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค. ๊ทธ๊ฒ์ ๋น์ ์ด ๊ฐ์ ธ ๊ฐ๋ ๋ณ๊ฒฝ ๊ฐ์ง ์ค์ค๋ก๋ฅผ ํธ๋ฆฌ๊ฑฐํด์ผํฉ๋๋ค ChangeDetectorRef
ํ๊ณ ์ฌ์ฉํ์ฌ detectChanges()
์ ๊ธฐ๋ฅ์ subscribe
.
์ฌ๋ก๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ์ด gitrepo ๋ฅผ ๋ง๋ค์์ต๋๋ค. ๋ถ๋ด ์์ด ์ดํด๋ณด์ธ์. subscribe(()=>{})
์
์ค๋์ ์กฐ๊ธ ๋ ํ๋ช ํด์ก์ต๋๋ค :)
๋ง์ง๋ง์ผ๋ก ๋ชจ๋๋ค ์ฆ๊ฑฐ์ด ์ฃผ๋ง ๋ณด๋ด์ธ์!
์ด ๋ฌธ์ ๊ฐ 1.5๋ ์ด ๋์๊ณ ์๋ฌด๋ฐ ์กฐ์น๋ ์ทจํ์ง ์์๋ค๋ ์ฌ์ค์ด ์ ๋ก์๋ ๋นํน์ค๋ฝ์ต๋๋ค. ์ด๊ฒ์ ๋ด ์ฑ์ ํ๋ฆ์ ์์ ํ ๋ง์น๊ณ ์์ต๋๋ค. ๊ทธ๊ฒ์ ๋ฒ๊ทธ๊ฐ ์๊ณ ํ์ง์ด ์ข์ง ์๊ฒ ๋ณด์ด๊ฒ ํ๊ณ ์ฐ๋ฆฌ๋ ๋ชจ๋ ๊ฒ์ ๋ฉ์ง๊ฒ ๋ณด์ด๊ฒ ํ๊ธฐ ์ํด ํดํน์ ํด์ผ ํฉ๋๋ค. @mhartington ๋ด๋ถ์ ์ผ๋ก ์ฌ๊ธฐ์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์์ต๋๊น?
์ ๋ ์ง๊ธ ionic์ PRO ๋ฒ์ ์ ์ฌ์ฉํ ํ ํ์ ์กฐ์น๋ก Ionic์ @matthewkremer ์ ์ ํ ํตํ๋ฅผ
์ ์๊ฒ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ์ด๊ฑฐ ํ๋๋ ์์๋ป๋ณด์..
์๋ ํ์ธ์, ์ด๊ฒ์ด ์ฐ๋ฆฌ์ ์ต์ฐ์ ๊ณผ์ ๊ฐ ๋๊ณ ์์ต๋๋ค. ์ค๋ ์์นจ @adamdbradley ์ ํธ์์ ์ฐธ์กฐํ์ธ์ .
์์ผ๋ก ๋ช ์ผ/์ฃผ์ ์ ๋ฐ์ดํธ๋ฅผ ๊ธฐ๋ํ์ญ์์ค
๋๋ ์ฐ๋ฆฌ๊ฐ ๋ถํ์ํ ํดํน์ ์ ์ฉํ์ง ์๊ณ ๊ณง ์ถ์ ๋์ฐพ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ด๋ฏธ WK๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ ์ํด ์๋ก์ด ํค๋ณด๋ ํ๋ฌ๊ทธ์ธ์ ์ค๋น ์ค์
๋๋ค. cordova-plugin-ionic-wkkeyboard
:
cordova plugin rm ionic-keyboard-plugin --save
cordova plugin add cordova-plugin-ionic-wkkeyboard --save
cc @hitendramalviya @ionut-movila @mmolhoek @Tyler-Darby @yingbaby @maulikakapure @aplimovil
์ด ์๋ก์ด wkkeyboard์ FormGroups ๋ฐ FormControls๋ก ion-textarea๋ฅผ ๋นํ์ฑํ/ํ์ฑํํ๋ ๋ฐ ์ด์ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ ์ฒด ์์์ ๋ค์ ํ์ฑํํ ํ ion-textarea๋ ๋นํ์ฑํ๋ ์ํ๋ก ์ ์ง๋ฉ๋๋ค. '์ค๋๋' ํค๋ณด๋๋ฅผ ์ฌ์ฉํ๋ ๋์์๋ ๋ฐ์ํ์ง ์์ต๋๋ค.
์ค๋ ๋ฐค์ ๋ฌธ์ ๋ฅผ ๋ง๋ค๊ฒ ์ต๋๋ค. :).
// ํธ์งํ๋ค:
์๋ง๋ ๋ค๋ฅธ ๊ฒ๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๋ธ๋ผ์ฐ์ ์์ ๋์ผํ ๋์.
https://github.com/ionic-team/ionic/issues/13170
ํค๋ณด๋๊ฐ ์ ๋ ฅ์ ์ํ ์คํฌ๋กค์ ๋ฌผ๋ก ์ด๊ณ ๋จ์ํ ํฌ๊ธฐ ์กฐ์ ์ ํธ๋ฆฌ๊ฑฐํ์ง ์๋ ๊ฒฝ์ฐ ๋ฌด์์ ์ฐพ์์ผ ํฉ๋๊น?
์คํฌ๋กค ๋ฌธ์ ๊ฐ ์ด๋ฏธ ํด๊ฒฐ๋ ๊ฒ ๊ฐ์ง๋ง ios์์ ์ฌ์ ํ ์ ๋ ฅ์ด ํ๋ฉด ์ค์์ ์์ ๋ ํค๋ณด๋๊ฐ ์ฌ๋ผ๊ฐ์ ๋ ์ ๋ ฅ์ด ์คํฌ๋กค๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด๊ฒ์ ์ ๋ ฅ์ ํญํ ๋๋ ํค๋ณด๋ ํ์ ํค๋ฅผ ์ฌ์ฉํ ๋ ๋ชจ๋ ๋ฌธ์ ์ ๋๋ค. ๋ด๊ฐ ๋ญ๊ฐ๋ฅผ ๋์น๊ณ ์์ต๋๊น? ์ฌ๊ธฐ์ ์ ์๋ ๋ง์ ์๋ฃจ์ ์ ์๋ํ์ง๋ง ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. (์ถ๊ฐ ์ ๋ณด๋ฅผ ์ํด ๊ธฐ๋ณธ ์ฑ์ด ์๋ ๋ธ๋ผ์ฐ์ ์์ Ionic์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค)
์์ฐ 2018 ๊ทธ๋ฆฌ๊ณ ์๋ฌด๊ฒ๋.
๊ทธ๋ค์ ๋์๊ฒ์ด ์๋ฃจ์ ์ ์ฃผ์์ง๋ง ์์ ํ ์๋ฒฝํ์ง๋ ์์ต๋๋ค
.์คํฌ๋กค ์ฝํ
์ธ {
padding-bottom: 0! ์ค์ํฉ๋๋ค.
}
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ, ์ค์๋ก ๊ธฐ๋ณธ ๋น๋์ _cordova-plugin-ionic-keyboard_๊ฐ ์์์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ _ionic-plugin-keyboard_๋ก ๊ต์ฒดํ์ ๋ ์ ๋ ฅ ๋ฒ๊ทธ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค.
๊ทธ๋์ ๋ด ์๋ฃจ์
์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฝ๋ฅด๋๋ฐ ํ๋ฌ๊ทธ์ธ rm ionic-keyboard
ionic ์ฝ๋ฅด๋๋ฐ ํ๋ฌ๊ทธ์ธ ionic-plugin-keyboard ์ถ๊ฐ
npm install --save @ionic-native/keyboard
+1
Vendettall, ์๋ํ์ง๋ง ์๋ํ์ง ์์์ต๋๋ค!
ํค๋ ๋๊ตฌ ๋ชจ์์ ์ด ์ฑ๊ฐ์ ๋ฒ๊ทธ๊ฐ ์์ต๋๊น?
2018๋
3์ 29์ผ ๋ชฉ์์ผ ์คํ 11์ 31๋ถ, Emmanuel Fache [email protected]
์ผ๋ค:
Vendettall, ์๋ํ์ง๋ง ์๋ํ์ง ์์์ต๋๋ค!
โ
๋น์ ์ด ๋๊ธ์ ๋ฌ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/ionic-team/ionic/issues/6228#issuecomment-377362762 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AYPMdggjRqZBZ0wghtxFjVbPLViBkR8hks5tjUSQgaJpZM4IKhUp
.
์ด ๋ฌธ์ ๊ฐ ๊ณ์ ๋ฐ์ํ๋ฉด ์ต์ ์ด์จ ํค๋ณด๋ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํด ๋ณด์ญ์์ค.
ionic cordova plugin rm ionic-keyboard-plugin
ionic cordova plugin add cordova-plugin-ionic-keyboard
๊ทธ๋ฐ ๋ค์ ์ค์
<preference name="KeyboardResizeMode" value="ionic" />
config.xml์์
์๋
ํ์ธ์,
๋ด๊ฐ ์์
ํ๋ ์ฑ์์ ๋ชจ๋ ๊ฒ์ด ์ ์๋ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ค ์ด์ ๋ก ์ธํด html ํ
์ด๋ธ ๋ด์ ์
๋ ฅ์ ์ฌ์ฉํด์ผํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์
๋ ฅ์ ํด๋ฆญํ ๋๋ง๋ค ํ
์ด๋ธ์ด ๋ค์ ๊ทธ๋ ค์ง๊ณ ํ
์ด๋ธ ์คํฌ๋กค์ด ์ฌ์ค์ ๋ฉ๋๋ค.
๋๊ตฌ๋ ์ง ์ฌ๊ธฐ์์ ๋์ธ ์ ์์ต๋๊น?
๋ํ ๋ณํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ๋ด
๋๋ค. ๊ฝค ์ง์ฆ๋๋ค.
์คํฌ๋กค๋ง pb์ ๊ฒฝ์ฐ ์ฌ๊ธฐ์ ํดํน์ ์์ฑํ์ต๋๋ค. https://github.com/ionic-team/ionic/issues/10629#issuecomment -395084125
2017๋ 8์ 1์ผ์ ์ธ๊ธ๋
@dylanvdmerwe , @jgw96 @mhartington @Tyler-Darby @manucorporat @adamdbradley
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ, ์ ๋ Ionic 2 ๋ฐ 3 ์์ฉ ํ๋ก๊ทธ๋จ์ฉ iOS ๋ฐ Android ํ๋ซํผ์์ ์ด ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ฐฉ๊ธ ์ฌ์ฉ์ ์ง์ ์ง์๋ฌธ์ ๋ง๋ค์์ต๋๋ค. ์ด ์คํฌ๋กค ๋ฌธ์ ์ ๊ด๋ จ๋ ๋ชจ๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋์ง ํ์ธํด ์ฃผ์๊ฒ ์ต๋๊น?
์ด ์ง์๋ฌธ์ ๋ง๋ค๊ธฐ ์ํด scroll-into-view-if-needed ponyfill ์ ์ฌ์ฉํ์ต๋๋ค.
npm install ion-input-scroll-into-view
๋ช
๋ น์ ์คํํ๋ ion-input-scroll-into-view ์ง์๋ฌธ์ ์ค์นํฉ๋๋ค.
1 ๋จ๊ณ
๋ค์๊ณผ ๊ฐ์ด ion-input-scroll-into-view ์ง์๋ฌธ์ ion-input ๋๋ ion-textarea์ ์ฐ๊ฒฐํฉ๋๋ค.
<ion-input ion-input-scroll-into-view></ion-input>
<ion-textarea ion-input-scroll-into-view></ion-textarea>
2 ๋จ๊ณ
๋ค์๊ณผ ๊ฐ์ด ์์ ๊ตฌ์ฑ ์์์ module.ts์์ IonInputScrollIntoViewModule์ ๊ฐ์ ธ์์ผ ํฉ๋๋ค.
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { ParentPage } from './parent';
import { IonInputScrollIntoViewModule } from 'ion-input-scroll-into-view';
@NgModule({
declarations: [
ParentPage
],
imports: [
IonicPageModule.forChild(ParentPage),
IonInputScrollIntoViewModule
],
})
export class ParentPageModule {}
npm ๋งํฌ : https://www.npmjs.com/package/ion-input-scroll-into-view
๊นํ๋ธ ๋งํฌ : https://github.com/melwinVincent/ion-input-scroll-into-view
๋ฌธ์ ๋ฅผ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! Ionic 3์ ์์ค ์ฝ๋์ ๋ฌธ์ ๋ฅผ ๋ณ๋์ ์ ์ฅ์๋ก ์ฎ๊ฒผ์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ Ionic 3์ฉ ์ ์ฅ์๋ก ์ฎ๊ธฐ๊ณ ์์ต๋๋ค. ์ฌ๊ธฐ์์ ์ด ๋ฌธ์ ๋ฅผ ์ถ์ ํ์ญ์์ค.
์์ด์ค๋์ ์ด์ฉํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
๋ฌธ์ ์ด๋: https://github.com/ionic-team/ionic-v3/issues/47
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์น์ ํ๋ ionic ํ ( @manucorporat , @brandyscarney , @adamdbradley )
๋ค์ ๋ฒ์ ์์ ์ด์ฌํ ๋ ธ๋ ฅํ๊ณ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ์ด๋ฌํ ํค๋ณด๋ ๋ฌธ์ ๋ ์ฑ ๊ฒฝํ์ ์ค์ํฉ๋๋ค. ๊ฐ์ ์คํฌ๋กค๊ณผ ๊ฐ์ ๋ค๋ฅธ ์ค๋ ๋ฌธ์ ์ ํจ๊ป ๋์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค.
๊ฑฐ๋ํ ์ฑ ํฌ๊ธฐ์ ๋๋ฆฐ ์์์ ์ง์ฆ๋์ง๋ง ์ฑ์ด ์ค์น๋๊ณ ์คํ๋ ๋ ํค๋ณด๋ ์ฒ๋ฆฌ์ ๊ฐ์ ๊ธฐ๋ณธ ์ฌํญ์ ๋ํ ์ ์ ํ ๊ฒฝํ์ ์ ๊ณตํด์ผ ํฉ๋๋ค.